0

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

新しい行の代わりにタブを除いて、「テスト」パスについても同じです。

これまでに思いついたのは、パス名に\nor\tが含まれているかどうかを確認し、それに応じて処理することだけですが、確かにもっと良い方法があるはずです。

if '\n' in path_name:
    #escape slash, move on

より良い方法は何でしょうか?

4

1 に答える 1