我試圖使用遞歸方式遍歷一個目錄,只打印目錄中的第一個文件。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
提交
取消