TypeError: __init__() got an unexpected keyword argument 'timeMax' args = t.f.__dict__ ... ... newtf = thread_cmdOpen(**args) Traceback (most recent call last): File "D:\Program Files\JetBrains\PyCharm 2020.1\plugins\python\helpers\pydev\_pydevd_bundle\pydevd_exec2.py", line 3, in Exec exec(exp, global_vars, local_vars) File "<string>", line 3, in <module> TypeError: __init__() got an unexpected keyword argument 'timeMax'
时间: 2023-10-07 22:08:26 浏览: 340
这个错误可能是因为你在创建 `thread_cmdOpen` 类的实例时,提供了一个名为 `timeMax` 的参数,但是该类的 `__init__()` 方法没有定义这个参数。你需要检查 `thread_cmdOpen` 类的定义,确保它的 `__init__()` 方法接受 `timeMax` 参数。如果不需要 `timeMax` 参数,那么请修改创建实例时的参数列表,去掉 `timeMax` 参数即可。
相关问题
TypeError: _StoreFalseAction.__init__() got an unexpected keyword argument 'type'
根据提供的引用内容,出现了TypeError: __init__() got an unexpected keyword argument 'date'和TypeError: __init__() got an unexpected keyword argument ‘encoding’的问题。这两个错误通常是由于使用了不支持的参数导致的。
对于第一个错误,TypeError: __init__() got an unexpected keyword argument 'date',这个错误通常发生在调用某个函数或方法时传递了不支持的参数。要解决这个问题,你需要检查你的代码,确保你传递的参数是正确的,并且与函数或方法的定义相匹配。
对于第二个错误,TypeError: __init__() got an unexpected keyword argument ‘encoding’,这个错误通常发生在使用json模块读取json文件时传递了不支持的参数。要解决这个问题,你需要检查你的代码,确保你传递的参数是正确的,并且与json模块的函数或方法的定义相匹配。
以下是两个示例来演示如何解决这两个错误:
1. 解决TypeError: __init__() got an unexpected keyword argument 'date'错误的示例:
```python
class Person:
def __init__(self, name):
self.name = name
person = Person(name='John', date='2021-01-01') # 错误的调用,传递了不支持的参数'date'
```
在上面的示例中,我们在实例化Person类时传递了一个不支持的参数'date',导致了TypeError: __init__() got an unexpected keyword argument 'date'错误。要解决这个错误,我们需要检查代码并删除不支持的参数'date'。
2. 解决TypeError: __init__() got an unexpected keyword argument ‘encoding’错误的示例:
```python
import json
with open('data.json', 'r', encoding='utf-8') as file: # 错误的调用,传递了不支持的参数'encoding'
data = json.load(file)
```
在上面的示例中,我们在使用json模块读取json文件时传递了一个不支持的参数'encoding',导致了TypeError: __init__() got an unexpected keyword argument ‘encoding’错误。要解决这个错误,我们需要检查代码并删除不支持的参数'encoding'。
运行代码后出现 TypeError: _BaseReader.__init__() got an unexpected keyword argument 'interval'
这个错误通常是因为`pandas_datareader`库的版本过低导致的。在早期版本的`pandas_datareader`中,`get_data_fred()`函数确实不支持`interval`参数,因此会出现上述错误。
要解决这个问题,可以尝试升级`pandas_datareader`库到最新版。可以使用以下命令进行升级:
```
pip install --upgrade pandas-datareader
```
如果升级后仍然出现同样的错误,可以尝试使用其他方法来获取股票数据,比如使用`get_data_yahoo()`函数:
```python
import pandas_datareader as pdr
# 获取股票代码为600521,数据源为Yahoo Finance,周期为1分钟,日期为2023-06-06的数据
df = pdr.get_data_yahoo('600521.SS', start='2023-06-06', end='2023-06-06', interval='1m')
print(df)
```
在上述代码中,`get_data_yahoo()`函数用于获取指定股票在指定日期内的数据。其中,`'600521.SS'`表示股票代码为600521,数据源为上交所(SS);`start='2023-06-06'`表示开始日期为2023年6月6日;`end='2023-06-06'`表示结束日期也为2023年6月6日;`interval='1m'`表示数据周期为1分钟。需要注意的是,由于Yahoo Finance的数据质量较差,因此获取到的数据可能存在一定的误差。
阅读全文