在python中使用反斜杠(不要逃避)

esa*_*wan 23 python string backslash

import os
path= os.getcwd()
final= path +'\xulrunner.exe ' + path + '\application.ini'
print final
Run Code Online (Sandbox Code Playgroud)

我想要出局:

c:\ python25\xulrunner.exe c:\ python25\application.ini

我不希望反斜杠作为字符串工作,我的意思是不要让它逃脱或做任何特别的事情.但我得到一个错误

无效\ x转义

我如何使用'\'作为'\'而不是逃避?

Dav*_*d Z 33

要直接回答您的问题,请将其放在r字符串前面.

final= path + r'\xulrunner.exe ' + path + r'\application.ini'
Run Code Online (Sandbox Code Playgroud)

但更好的解决方案是os.path.join:

final = os.path.join(path, 'xulrunner.exe') + ' ' + \
         os.path.join(path, 'application.ini')
Run Code Online (Sandbox Code Playgroud)

(反斜杠有转换换行符,但你可以把整个东西放在一行,如果你想要的话)

我将提到您可以在文件路径中使用正斜杠,Python会根据需要自动将它们转换为正确的分隔符(Windows上的反斜杠).所以

final = path + '/xulrunner.exe ' + path + '/application.ini'
Run Code Online (Sandbox Code Playgroud)

应该管用.但它仍然可以使用,os.path.join因为这清楚地表明了你想要做的事情.


ava*_*riu 23

你可以逃避斜线.使用\\,你只得到一个斜线.


Ein*_*ium 5

您可以使用另一个反斜杠 ( ) 转义反斜杠\\\\,但它不会\xe2\x80\x99t 看起来更好。要解决这个问题,请r在字符串前面放置一个 来表示原始字符串。原始字符串将忽略所有转义序列,将反斜杠视为文字文本。它不能包含结束引号,除非它前面有一个反斜杠(它将包含在字符串中),并且它不能以单个反斜杠(或奇数个反斜杠)结尾

\n


归档时间:

查看次数:

63450 次

最近记录:

9 年,7 月 前