2017-04-17 1 views
2

파이썬에서 파일 경로를 저장하기 위해 stings을 사용하고 있으며, 단일 백 슬래시를 cmd에 사용하기 위해 이중 백 슬래시로 바꾸고 싶지만 역 슬래시로 인해 특수 문자로 바꾸는 문제가 있습니다. 문자.파이썬에서 파일 경로 다루기

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_ 문자열을 입력하기위한 구문 기능입니다. 파이썬 객체 레벨에서는 아무런 차이가 없습니다. –