2011-04-18 2 views
0

파이썬 2.6을 사용하고 있습니다. 파이썬에서 명령 창에 명령을 입력하고 싶습니다. 올바른 방법이 필요합니다. 그러나 나는 몇 가지 실패한 시도를 보여주고 있습니다. 여기에 몇 가지 시련과 오류 유형은 내가 얻을 :Windows 명령 창에서 파이썬으로 작성하는 방법

첫 시도

import subprocess 
proc = subprocess.Popen('cmd.exe', stdin = subprocess.PIPE, stdout = subprocess.PIPE) 
stdout, stderr = subprocess.communicate('cd Documents') 
AttributeError: 'module' object has no attribute 'communicate' 

두 번째 시험 :

import subprocess 
proc = subprocess.Popen('cmd.exe', stdin = subprocess.PIPE, stdout = subprocess.PIPE) 
proc.stdin.write("cd Documents") 

오류 메시지가, 그러나 아무 일도 일어나지 않습니다. Il i는 존재하지 않는 폴더를 열려고 시도합니다. 나는 똑같은 것을 얻습니다. 명령 창은 빈

세 번째 시험을 유지 :

os.system('cd Documents') 

것도, 내가 존재하지 않는 폴더를 열려고 시도하는 경우가 있지만, 1 반환 발생하지 너무 일을 반환

os.system('cd Documentss') 
당신의 도움

에 대한

마지막 시험

a=os.popen("C:\\system32\\cmd.exe",'w') 
a.write("cd Documents") 
IOError: [Errno 22] Invalid argument 

감사합니다

+0

왜 이렇게해야합니까? 'os.chdir ("C : \\ ..")'충분하지 않습니까? – kurumi

답변

2

새로 인스턴스화 된 클래스 대신 모듈을 호출한다는 사실을 제외하고 첫 번째 평가판은 정확합니다.

os.system('your command') 

작품 : 당신은

proc.communicate('cd Documents')

+0

답장을 보내 주셔서 감사합니다. 내가이 일을한다면 나는 더 이상 오류 메시지를받지 못한다. 그러나 필자가이 글을 쓰고있는 중이라면 파일이 존재하는지 여부를 알리는 창이 닫힙니다. 또한 첫 번째 행이 작성된 후 명령 창에 아무 것도 표시되지 않습니다. – henrima

-1

세 번째 재판을 사용해야합니다. 내가 사용하고 괜찮아요 :

os.system('ipconfig -renew') # Renew all connections windows 

시도 :

os.system('ipconfig -release') # you will disconnect from your network 

그런 다음 사용

os.system('ipconfig -renew') # network will back 
관련 문제