db.spider(city=city, year=year, month=month) TypeError: MysqlDatabases.spider() got an unexpected keyword argument 'city'怎么解决
时间: 2023-06-25 09:04:51 浏览: 46
这个错误的原因是 `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' 这个参数。
db.spider(city, year, month) TypeError: MysqlDatabases.spider() takes 3 positional arguments but 4 were given怎么解决?
这个错误信息提示你传递了4个参数,但是函数 `MysqlDatabases.spider()` 只接受3个位置参数。请检查你调用这个函数的代码,是否有多传了一个参数。可以尝试修改为以下方式:
```python
db.spider(city=city, year=year, month=month)
```
这样就可以将参数名和值一一对应,避免出现位置参数和关键字参数混用导致的错误。如果还有问题,请提供更多相关代码和上下文信息,便于更好地帮助你解决问题。