2016-10-06 7 views
0

나는 스크립트가 CMD를 열고 경로를 입력 만들고 싶어. 그래서, 나는이 시도 : 나는 그것을 입력 할 내용이파이썬에서 경로를 인쇄하는 방법은 무엇입니까? 작동하지 않는</p> <pre><code>import pyautogui as pag pag.hotkey('win','r') pag.typewrite('cmd') pag.press('enter') pag.typewrite('C:UsersXYAppData') </code></pre> <p>:

C:?Users?XY?AppData?를 입력, 그러나

import pyautogui as pag 
pag.hotkey('win','r') 
pag.typewrite('cmd') 
pag.press('enter') 
pag.typewrite('C:\\Users\\huba5_000\\AppData\\') 

C:\Users\XY\AppData\입니다. '\\'대신에 무엇을 써야하는지 알고 있습니까?

미리 감사드립니다.

+0

나는 페이지를 사용하지 않았지만 일반적으로 원시 문자열을 시도 할 수 있습니다. 'print (r "C : \ Users \ XY \ AppData")'는 문자열 앞의 'r'에 주목합니다. 그것은 문자열이 원시이고 정확히 입력하는 것임을 나타냅니다. – MooingRawr

+0

@MooingRawr 경로가 "\"로 끝나는 경우 작동하지 않는다는 점에 유의하십시오. 기본 문자열은 여전히 ​​이스케이프 처리 중입니다. – Aaron

+0

@Aaron, true이지만 '\'로 종료하면 스페이스를 채울 수 있습니다. ' 그래서'print (r "C : \ Users \ XY \ AppData \")'는'C : \ Users \ XY \ AppData \'를 공백 문자와 함께 반환합니다. 그것은 주위에 내가'\\' – MooingRawr

답변

0
input() 또는 gui의 텍스트 상자 (일반적으로 idk 약 pag)에서 문자열을 읽을 때 여분의 슬래시가 자동으로 입력됩니다. 그러나 코드에서 문자열 리터럴을 자동으로 입력하지는 않으므로 탈출하라 (따라서 이중 슬래시). 내가 경로를 입력 할 때

>>> s = raw_input('enter a path: ') #change raw_input to input() for python 3.x 
enter a path: \usr\var 
>>> s 
'\\usr\\var' 
>>> print s 
\usr\var

통지, 내 백 슬래시를 탈출하지 않았다, 그러나 나는 s의 내부 표현을 호출 할 때 그들이에 넣어되지 않은 : 여기에 그 기능을 보여주는 짧은 콘솔 세션 (파이썬 2.7)입니다 나를. 출력 형식이 필요할 때 print()를 호출하여 문자열 내에 포함 된 모든 서식 (이스케이프)을 실행합니다.