ファイルを移動する必要があるスクリプトを書いていますが、残念ながらos.path
、国際化にうまく対応していないようです。ヘブライ語で名前が付けられたファイルがあると、問題が発生します。ディレクトリの内容のスクリーンショットを次に示します。
(ソース: thegreenplace.net )
ここで、このディレクトリ内のファイルを処理する次のコードを検討してください。
files = os.listdir('test_source')
for f in files:
pf = os.path.join('test_source', f)
print pf, os.path.exists(pf)
出力は次のとおりです。
test_source\ex True
test_source\joe True
test_source\mie.txt True
test_source\__()'''.txt True
test_source\????.txt False
os.path.exists
ヘブライ語で名前が付けられたファイルが存在しないと考える方法に注意してください。どうすればこれを修正できますか?
Windows XP Home SP2 上の ActivePython 2.5.2