我正在使用python,並且在文件名包含非ASCII字符時讀取文件的屬性時遇到了一些麻煩。獲取名稱包含特殊(非ASCII)字符的文件的屬性
一個用於例子中的文件被命名爲:
0-Channel-https∺∯∯services.apps.microsoft.com∯browse∯6.2.9200-1∯615∯Channel.dat
當我運行此:
list2 = os.listdir('C:\\Users\\James\\AppData\\Local\\Microsoft\\Windows Store\\Cache Medium IL\\0\\')
for data in list2:
print os.path.getmtime(data) + '\n'
我得到的錯誤:
WindowsError: [Error 123] The filename, directory name, or volume label syntax is incorrect: '0-Channel-https???services.apps.microsoft.com?browse?6.2.9200-1?615?Channel.dat'
我承擔其造成的由特殊的字符,因爲代碼工作正常與其他文件名只有ASCI我的字符。
有誰知道一種方法來查詢這樣的文件的文件系統屬性?
感謝您的幫助。它似乎已經解決了這個問題。如果我現在打印文件名稱,它包括特殊字符,而在它之前用問號替換它們。它現在反而說:WindowsError:[錯誤2]系統找不到指定的文件:.即使它剛剛從listdir函數中收集它。我真的不知道最終得出結論。再次感謝您的幫助 – Xtrato
listdir爲您提供了相對路徑名,您還需要os.path.join() - 我會更新該帖子。我在我的機器上試過了你的文件名,它工作,所以你必須靠近。 – tdelaney