![](/img/trans.png)
[英]Python WindowsError: [Error 123] The filename, directory name, or volume label syntax is incorrect:
[英]Python pathlib glob function fails on WindowsError: [123]?
我編寫了以下python函數,它返回文件地理數據庫路徑的python列表。 請注意, input_folder
是一個原始字符串,不包含unicode字符。
try:
gdbs = list(Path(input_folder).glob('**/*.gdb'))
for gdb in gdbs:
print(gdb)
except WindowsError, e:
print("error")
我遇到的問題是當pathlib
glob
方法遇到目錄中文件路徑中的unicode字符時失敗。
我嘗試了以下但它仍然失敗,我認為這是因為我沒有轉換glob
生成器遇到的路徑。
try:
gdbs = list(Path(unicode(input_folder)).glob('**/*.gdb'))
for gdb in gdbs:
print(gdb)
except WindowsError, e:
print("error")
返回的錯誤消息是:
WindowsError: [Error 123] The filename, directory name, or volume label syntax is incorrect: 'R:\\Data\\Africa\\Tanzania\\fromDropbox\\DART\\BRT Phase 2-3 designs\\1.12 Engineering Drawings for Service\\ROAD LIGHT\\PDF\\01.Traffic Sign(Kilwa)-??04.pdf'
任何幫助處理以下錯誤將不勝感激。
嘗試這個 :
input_folder = r'R:\Data\Africa\Tanzania\fromDropbox\DART\BRT Phase 2-3 designs\1.12 Engineering Drawings for Service\ROAD LIGHT\PDF\01.Traffic Sign(Kilwa)-??04.pdf'
正確的調用應該在路徑前面有'r',並使用單斜杠。
這似乎是pathlib的一個問題,因為Python 2.7無法處理非ascii字符。 pathlib在Windows上的Python 2上扼殺了國際字符
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.