db.spider(city, year, month) TypeError: MysqlDatabases.spider() takes 3 positional arguments but 4 were given怎么解决?
时间: 2023-06-24 20:08:04 浏览: 91
这个错误信息提示你传递了4个参数,但是函数 `MysqlDatabases.spider()` 只接受3个位置参数。请检查你调用这个函数的代码,是否有多传了一个参数。可以尝试修改为以下方式:
```python
db.spider(city=city, year=year, month=month)
```
这样就可以将参数名和值一一对应,避免出现位置参数和关键字参数混用导致的错误。如果还有问题,请提供更多相关代码和上下文信息,便于更好地帮助你解决问题。
相关问题
db.spider(city=city, year=year, month=month) TypeError: MysqlDatabases.spider() got an unexpected keyword argument 'city'怎么解决
这个错误的原因是 `MysqlDatabases.spider()` 方法没有 `city` 这个关键字参数。可能是你在调用该方法时传递了一个不合法的参数。
如果你想要在 `MysqlDatabases.spider()` 方法中使用 `city` 参数,你需要先在该方法的参数列表中添加 `city` 参数。
例如:
```python
class MysqlDatabases:
def spider(self, city=None, year=None, month=None):
# 在方法体中使用 city 参数
pass
```
如果你不想在 `MysqlDatabases.spider()` 方法中使用 `city` 参数,那么你需要检查一下调用该方法时传递的参数,确保没有传递不合法的参数。
例如:
```python
# 如果 MysqlDatabases.spider() 方法没有 city 参数,那么调用时不能传递 city 参数
db.spider(year=2021, month=7)
```
db.spider(city=user_city, year=user_year, month=user_month) TypeError: MysqlDatabases.spider() got an unexpected keyword argument 'city'
这个错误提示说明你调用了 MysqlDatabases.spider() 函数时,传入了一个名为 'city' 的关键字参数,但是 MysqlDatabases.spider() 函数并不接受名为 'city' 的关键字参数。
可能的原因是 MysqlDatabases.spider() 函数定义时没有接受 'city' 这个参数。你需要检查一下 MysqlDatabases.spider() 函数的定义,并且确认是否需要传入 'city' 这个参数。如果需要,你需要修改函数定义,使其接受 'city' 这个参数。如果不需要,你需要修改调用函数时的参数,避免传入 'city' 这个参数。
阅读全文