唯物是真 @Scaled_Wurm

プログラミング(主にPython2.7)とか機械学習とか

波ダッシュと全角チルダに苦しめられる

Windows上でPythonスクリプトを書いてファイルを処理しようと思ったら上手くいかなくて困ってます.具体的には「〜」がファイル名に含まれているときに失敗します.
調べてみたところ全角チルダ「〜」と波ダッシュ「〜」には色々と問題があるみたいですね.
おそらく原因はスクリプトから外部のコマンドを実行するのに使っているsubprocess.call関数の引数に渡せる文字コードが限られているのに,ファイルシステムUnicodeのファイル名であること.
pywin32を使ってショートファイルネームを取得して与えればうまくいくかな?

参考URL

英語で検索したほうが情報量が多いですね.以下参考にしたURL.
API Only - Stack Exchange
API Only - Stack Exchange

Issue 1759845: subprocess.call fails with unicode strings in command line - Python tracker