0
我試圖在遞歸函數中使用os.walk()來遞歸地遍歷整個目錄並重命名文件(只是在給定路徑中大寫所有文件的名稱) 。我的(簡單)的代碼是在這裏:Python:在遞歸函數中的os.walk()
def recursiveRename(path):
""" This uses the os.walk function to walk through a directory """
rename(path)
for root, sub, files in os.walk(path):
i = 0
print (sub)
while(i < len(sub)):
print (os.path.join(path, sub[i]))
recursiveRename(os.path.join(path, sub[i]))
i+=1
它輸出這樣的:
['one', 'two']
/Users/name/Desktop/test/one
['four', 'three']
/Users/name/Desktop/test/one/four
[]
/Users/name/Desktop/test/one/three
[]
[]
[]
/Users/name/Desktop/test/two
[]
['four', 'three']
/Users/name/Desktop/test/four
這將重命名的所有文件罰款,但它試圖最後一個目錄不存在(有中沒有子文件夾/測試/ 2)。我可以抓住這個錯誤,但是我覺得我的邏輯有點不對,我寧願把它弄清楚。
咄。謝謝你清理那個。 – chris