Traceback (most recent call last): File "D:\wkpy\ds文件读取.py", line 3, in <module> with DSStore('D:\wkpy\.DS_Store', 'r') as folder: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ TypeError: DSStore.__init__() takes 2 positional arguments but 3 were given
时间: 2023-08-02 18:06:54 浏览: 153
python3 使用traceback定位异常实例
这个错误的原因是 `DSStore` 类的初始化方法只接受两个参数,但是你在使用时传递了三个参数。
根据你的代码,你的意图应该是打开一个文件夹,并读取其中所有的 `.DS_Store` 文件。那么,你需要使用 `DSFolder` 类而不是 `DSStore` 类。`DSFolder` 类接受两个参数:文件夹路径和打开模式,例如 `'r'` 表示读取模式。
下面是一个修改后的代码示例,可以读取一个文件夹中的所有 `.DS_Store` 文件:
```python
from ds_store import DSFolder
with DSFolder('D:\wkpy', 'r') as folder:
for ds in folder:
# 处理每个 .DS_Store 文件
pass
```
在这个例子中,我们使用 `DSFolder` 类代替了 `DSStore` 类,并将文件夹路径和打开模式传递给了 `DSFolder` 的初始化方法。然后,我们可以通过迭代 `DSFolder` 对象来处理每个 `.DS_Store` 文件。
希望这个修改后的代码能够解决你遇到的问题。
阅读全文