文字列のバックスラッシュをエスケープするにはどうすればよいですか:'pictures\12761_1.jpg'
?
生の弦について知っています。たとえば、XMLファイルから'pictures\12761_1.jpg'
値を取得した場合、strをrawに変換するにはどうすればよいですか?
文字列.replace()
メソッドを使用できます。
>>> print r'pictures\12761_1.jpg'.replace("\\", "/")
pictures/12761_1.jpg
あなたが正確に尋ねたものではないことは知っていますが、これはよりうまく機能すると思います。ちょうどあなたのディレクトリの名前を持ち、os.path.join(directory、filename)を使用するほうがいいです
"os.path.join(path、* paths)1つまたは複数のパスコンポーネントをインテリジェントに結合します。戻り値は、空でない各部分に続く、パスと* pathsのメンバーを1つのディレクトリセパレータ(os.sep)だけで連結したものです。最後を除き、最後の部分が空の場合、結果はセパレータでのみ終了することを意味します。コンポーネントが絶対パスの場合、以前のすべてのコンポーネントは破棄され、結合は絶対パスコンポーネントから続行されます。
分割/結合を使用することもできます:
print "/".join(r'pictures\12761_1.jpg'.split("\\"))
編集:
あなたが使うかもしれない他の方法は、それが検索している間にデータを準備することです(例えば、アイデアは変数に割り当てる前に文字列を更新することです)-例えば:
f = open('c:\\tst.txt', "r")
print f.readline().replace('\\','/')
>>>'pictures/12761_1.jpg\n'