文字列リテラルでのエスケープ シーケンスの回避
Python では、文字列リテラルにエスケープ シーケンス (改行の 'n' や ' など) を含めることができます。タブの場合は t' です。ただし、文字列に実際のバックスラッシュ文字を含めたい場合はどうすればよいでしょうか?
次のコードを考えてみましょう:
import os path = os.getcwd() final = path +'\xulrunner.exe ' + path + '\application.ini' print(final)
このコードでは、バックスラッシュがエスケープ シーケンスとして解釈されるため、エラーが発生します。ユニコード文字。これを防ぐには、文字列の先頭に「r」を付けて、それが生の文字列であることを示します。生の文字列では、バックスラッシュはリテラル文字として扱われます。
final= path + r'\xulrunner.exe ' + path + r'\application.ini'
これは次のように出力します。
C:\Users\me\xulrunner.exe C:\Users\me\application.ini
あるいは、os.path.join 関数を使用してパス要素を結合することもできます。正しい区切り文字 (Windows ではバックスラッシュ) を使用します:
final = (os.path.join(path, 'xulrunner.exe') + ' ' + os.path.join(path, 'application.ini'))
これにより、パスがオペレーティング システムに関係なく、正しく結合されます。
Python はプラットフォームに基づいて適切な区切り文字に変換するため、ファイル パスではスラッシュ (/) を使用することをお勧めします。ただし、os.path.join の使用は、現在の環境に合わせて適切に分離されるため、パス要素を結合する場合に推奨される方法です。
以上がPython 文字列リテラルでバックスラッシュを使用するときにエスケープ シーケンス エラーを回避するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。