2017-11-28 3 views
-2

네트워크 드라이브의 일부 파일에 액세스하려고합니다. 내 네트워크 드라이브를 "네트워크 파일"이라고합니다. Window 명령 줄에서이 명령을 실행하면 작동합니다. net use \ networkfile \ Programs."net use"가 Python 3 스크립트에서 작동하지 않았습니다.

그러나 Python 스크립트 (Python3을 사용하고 있습니다)에 넣을 때 작동하지 않았습니다. 내가 시도 :

A = os.system을 ("그물을 사용 O를 : \ networkfile \ 프로그램")

A = os.system을 ("그물을 사용 \ networkfile \ 프로그램")

A = 운영 체제 .system ("그물을 사용 \ networkfile \ 프로그램")

A = subprocess.run ("그물을 사용 O : \ networkfile \ 프로그램", 쉘 = True로, 표준 출력 = subprocess.PIPE) 사람들의

없음 작업. 오류 : "시스템 오류 67이 발생했습니다. 네트워크 이름을 찾을 수 없습니다."

누구나 전에 경험 했습니까? 상담하십시오. \n는 개행 문자로 해석되기 때문에

net use O: 
etworkfile\Programs 

:

덕분에,

+1

'인쇄 ("그물을 사용 \ networkfile \ 프로그램") '과 그냥 탈출 된 경우, 세 번째 tiral 문제는 그것을하지 않을 해결 한 것 juanpa.arrivillaga @ ... 당신을 보여줍니다 무엇 –

+0

참조 ? – Aaron

+1

@Aaron 음, 아니, ** 당신은 ** 완벽하게 질문을 변경, 이스케이프 백 슬래시에서 편집 한 것 ... –

답변

0

당신의 문자열 "net use O:\networkfile\Programs" 같이 파이썬 인터프리터에 의해 평가되고있다. 당신은 몇 가지 방법

  1. (대부분의 경우) 백 슬래시가 특별히 치료를 받고 방지하기 위해 원시 문자열을 (here 4 개 개의 단락을 아래 참조)를 사용

    에서이 문제를 해결 할 수 있습니다.

  2. 가 리터럴 백 슬래시로 평가하도록 백 슬래시 자체를 탈출

    올바른 디렉토리 분리가 운영 체제에 관계없이 사용되도록

  3. 문자열을 생성 os.path 라이브러리를 사용 ("\\"에 모든 "\"을).

+0

이중 플래시가 작동합니다. 이것은 나를 위해 작동합니다 : a = os.system ("net use \\\ networkfile \\ Programs"). 모든 도움에 감사드립니다. 감사합니다. –

관련 문제