我在Mac OS X 10.8.2Python的水珠模塊和UNIX」 find命令不承認非ASCII
當我試圖找到包含非ASCII字符我沒有得到任何結果文件名的文件儘管我確信他們已經存在。以控制檯輸入爲例
> find */Bärlauch*
我沒有得到任何結果。但是,如果我嘗試沒有元音變音我得到
> find */B*rlauch*
images/Bärlauch1.JPG
所以該文件是肯定存在的。如果我用'ae'重命名文件替換'ä',文件被找到。
相若方式的Python模塊glob
無法找到文件:
>>> glob.glob('*/B*rlauch*')
['images/Bärlauch1.JPG']
>>> glob.glob('*/Bärlauch*')
[]
我想通了,它必須是與編碼,但我的終端設置爲UTF-8和我使用使用unicode字符串的Python 3.3.0。
Mac默認使用分解的unicode字符。嘗試匹配''*/Ba \ xcc \ x88rlauch *''。 –
@MartijnPieters我只是用'find'和'glob'嘗試了你的建議。沒有結果...但是,謝謝你的幫助 – LifeIsHealthy
在這個目錄下的'[repr(e)for os.listdir()]'會給你帶來什麼?確切的蟒蛇表示請。 –