import os
path= os.getcwd()
final= path +'\xulrunner.exe ' + path + '\application.ini'
print final
私は出力が欲しい:
c:\ python25\xulrunner.exe c:\ python25\application.ini
バックスラッシュを文字列として機能させたくない、つまりエスケープしたり特別なことをしたくないしかし、エラーが発生します
無効な\ xエスケープ
「\」をエスケープではなく「\」として使用するにはどうすればよいですか?
質問に直接答えるには、文字列の前にr
を入れます。
final= path + r'\xulrunner.exe ' + path + r'\application.ini'
しかし、より良い解決策はos.path.join
です:
final = os.path.join(path, 'xulrunner.exe') + ' ' + \
os.path.join(path, 'application.ini')
(バックスラッシュは改行をエスケープしていますが、必要に応じてすべてを1行に入れることもできます)
ファイルパスでスラッシュを使用でき、Pythonは必要に応じてそれらを正しいセパレーター(Windowsではバックスラッシュ)に自動的に変換します。
final = path + '/xulrunner.exe ' + path + '/application.ini'
動作するはずです。ただし、os.path.join
を使用することをお勧めします。これにより、何をしようとしているかが明確になります。
スラッシュをエスケープできます。使用する \\
スラッシュを1つだけ取得します。