Windows で Python 2.6 を使用すると、パス名を引数として受け入れる必要がある関数があります。特定のパスが渡されると、問題が発生します。
C:\users\bob\something.png #this is handled no prob.
C:\users\bob\nothing.png #this generates a WindowsError
C:\users\bob\test.png #this also generates a WindowsError
私が収集しているの\n
は、「何もない」パスが新しい行として解釈され\t
、「テスト」パスがタブとして解釈されていることです。
パス名を出力すると、それが起こっているように見えます。
print os.path.abspath("C:\users\bob\nothing.png")
C:\users\bob
othing.png
新しい行の代わりにタブを除いて、「テスト」パスについても同じです。
これまでに思いついたのは、パス名に\n
or\t
が含まれているかどうかを確認し、それに応じて処理することだけですが、確かにもっと良い方法があるはずです。
if '\n' in path_name:
#escape slash, move on
より良い方法は何でしょうか?