簡體   English   中英

Python pathlib glob函數在WindowsError上失敗:[123]?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM