2010-08-01 106 views
18
import os 
path= os.getcwd() 
final= path +'\xulrunner.exe ' + path + '\application.ini' 
print final 

我要出去放:使用python的反斜杠(不是逃避)

C:\ python25 \ xulrunner.exe C:\ python25 \的application.ini

我不希望反斜杠能像字符串一样工作,我的意思是不想让它反转或做任何特殊的事情。但我得到一个错误

无效\ X逃脱

我怎样才能用一个“\”作为“\”,而不是一种逃避?

回答

25

要直接回答您的问题,请将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') 

(反斜杠有逃避换行,但你可以把整个事情上,如果你想要一个行)

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

final = path + '/xulrunner.exe ' + path + '/application.ini' 

应该工作。但是最好使用os.path.join,因为这样可以明确你想要做什么。

+4

+1:'os.path.join' – 2010-08-01 03:03:05

+1

Python不会将'/'转换为'\',而是'/'是Windows上的有效路径分隔符 – 2015-05-11 19:59:31

18

你可以逃避斜线。使用\\,你会得到一个斜线。

+1

工作正常,并且快速简单 – Vass 2015-04-06 19:49:10