1

パスを要求するプログラムを作成していますが、Windows のパスにはバックスラッシュが含まれています。これは、次の文字が間違っている場合、Python によってエスケープ シーケンスとして解釈される可能性があります。string.replace() を試しましたが、replace 関数を実行する前にこれらのバックスラッシュがエスケープ シーケンスに変換されるため、機能しません。

それらを削除して \ の代わりに / にする方法はありますか?

4

3 に答える 3

6

いいえ、バックスラッシュは Pythonソース コード以外ではエスケープ シーケンスとして解釈されません。間違っているパスを eval() していない限り、なぜ問題が発生するのかわかりません。

于 2009-11-19T21:04:47.317 に答える
3

ユーザーに入力を求める場合、\ は \ として正しく文字列に入ります。その後、何らかの方法でユーザーの文字列を評価した場合にのみ、バックスラッシュがエスケープ文字としてカウントされます。コード内で文字列を書いているときのエスケープについてだけ心配する必要があります。

于 2009-11-19T21:05:56.740 に答える
3

ダブル \ を使用

str = 'c:\\dir\\file.txt'

print str.replace('\\','/')
print str

ここで私たちの出力

c:/dir/file.txt
c:\dir\file.txt
于 2009-11-19T21:06:44.100 に答える