2017-04-17 86 views
2

我正在使用stings来保存python中的文件路径,我想用一个双反斜杠替换单个反斜杠以便在cmd中使用,但是我有一个问题,由于它将一个字母改为一个特殊的反斜杠字符。例如:在python中处理文件路径

string="C:\Program Files (x86)\Mozilla Firefox\firefox.exe" 
print(sting) 

输出:

"C:\Program Files (x86)\Mozilla Firefox\x0cirefox.exe" 

时,我希望它输出

"C:\Program Files (x86)\Mozilla Firefox\firefox.exe" 

此问题仍然存在,当我想用​​一个 “\\” 来代替 “\”使用

string.replace("\\","\\\\") 

而不是输出:

"C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe" 

它输出:

"C:\\Program Files (x86)\\Mozilla Firefox\xocirefox.exe" 
+2

[Oblig。 xkcd](https://xkcd.com/1638/) –

回答

1

使用原始字符串:

>>> string=r"C:\Program Files (x86)\Mozilla Firefox\firefox.exe" 
>>>print(string) 
C:\Program Files (x86)\Mozilla Firefox\firefox.exe 

>>> print(string.replace('\\','\\\\')) 
C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe 
1

您可以使用原始字符串简单地忽略反斜线。

>>> string=r"C:\Program Files (x86)\Mozilla Firefox\firefox.exe" 
>>> print(string) 
"C:\Program Files (x86)\Mozilla Firefox\firefox.exe" 

你可以找到更多有关此内容的Python documentation for lexical analysis

+0

谢谢你已经解决了我的问题,我会接受这个答案,当它允许我。 – Nat

+0

你怎么能将一个字符串变量保存为一个原始字符串? – Nat

+0

“原始字符串”只是用于在源代码中键入字符串_literals_的语法功能。在Python对象级别上没有区别。 –