我使用python os.walk()來獲取某些目錄中的文件和目錄,但是有名稱太長(> 300),os .walk()不返回任何東西,使用onerror我得到'[錯誤234]更多的數據可用'。我試圖使用良率,但也沒有得到,並顯示'追蹤:StopIteration'。Python的os.walk()在Windows中有長文件名時失敗
操作系統是windows,代碼很簡單。我已經測試了一個目錄,如果有長名文件,就會出現問題,而如果用短名稱重命名長名稱文件,代碼可以得到正確的結果。
我對這些目錄無能爲力,例如重命名或移動長名稱文件。 請幫我解決問題!
def t(a):
for root,dirs,files in os.walk(a):
print root,dirs,files
t('c:/test/1')
我不知道什麼操作系統可以讓你有很長的名稱文件。 – PepperoniPizza
你能提供一些更多的細節嗎?你在使用什麼操作系統,你能告訴我們一個代碼的最小版本來證明問題嗎? – larsks
窗口,代碼簡單,沒有任何特別的:對於root,dirs,os.walk中的文件(...):print root。我測試過,如果用短名稱重命名長名稱文件,代碼可以得到正確的結果。 – user2646309