我试图使用递归方式遍历一个目录,只打印目录中的第一个文件。os.walk文件夹结构如下所示 Project_Folder ├── Case001 │ └── asdf422345112323423 │ └── puppy.txt ├── Case002 │ ├── jjasdfjtnqn3881847471 │ │ └── apple.txt │ └── jtnjjqjqjwkwktjjthqj │ └── banana.txt └── Case003 └── asdfasdfntjejqk21244 ├── herwerhqkethf4443434 │ ├── orange.txt │ └── cow.txt └── jdjdjafjejqjqyttjdjak └── cat.txt我使用的代码是import osrootDir = '.'for dirName, subdirList, fileList in os.walk(rootDir): print(fileList[0]) # I only want the first file 但是我不断收到“列表索引超出范围”错误。但是,我知道从摆脱索引并仅打印多个列表。print(fileList)
1 回答
弑天下
TA贡献1818条经验 获得超8个赞
某些目录中可能没有文件。请尝试以下操作:
for dirName, subdirList, fileList in os.walk(rootDir):
if fileList:
print(fileList[0]) # I only want the first file
(如果列表为空,则 if 检验的计算结果为空)False
添加回答
举报
0/150
提交
取消