path_name = self.save_path.GetValue() wx.MessageBox(str(path_name)) path = os.walk(path_name):<class 'TypeError'>: 'generator' object is not subscriptable
时间: 2024-01-22 21:20:13 浏览: 88
xml.zip_DOM4J_Dom4jDemo.java _dom4j xml
这个错误是因为你试图将一个生成器对象(generator object)当作一个可索引的对象来使用。生成器对象是一种特殊的迭代器,它只能被迭代一次,而且没有索引。因此,你不能使用类似于 `path_name[0]` 这样的方式来访问生成器对象中的元素。
如果你想遍历一个文件夹中的所有文件和子文件夹,可以使用 `os.walk()` 函数,它返回三个值:当前文件夹的路径、当前文件夹中所有子文件夹的名称、当前文件夹中所有文件的名称。你可以使用 for 循环来遍历这个生成器对象,例如:
```
for root, dirs, files in os.walk(path_name):
# 处理当前文件夹中的所有文件和子文件夹
...
```
在这个循环中,`root` 变量表示当前文件夹的路径,`dirs` 变量是一个包含当前文件夹中所有子文件夹名称的列表,`files` 变量是一个包含当前文件夹中所有文件名称的列表。你可以使用这些变量来访问文件夹中的内容。
阅读全文