2017-09-18 15 views
0

"vmrun list"를 사용하여 실행중인 모든 VM을 찾으려고합니다. 명령과 나는 텍스트 파일에 출력 싶습니다. os.system (cmd/all> file)은 명령 프롬프트에서 명령을 직접 실행하면 텍스트 파일로 출력됩니다.

import os 
os.system("C:\\Program\ Files\ (x86)\\VMware\VMware\ VIX\\vmrun /all >C:\\Users\\xyz\\Documents\\qw.txt ") 

내가 명령 프롬프트 출력 파일을 얻고 명령 프롬프트에서 같은 명령을 실행하지만 난 파이썬에서 같은 일을 수행 할 때 내가 빈 파일을 얻고있다

. 파이썬 스크립트에서 파일로 출력하려면 어떻게해야합니까 ??

+2

코드가 수동으로 실행될 때 다른 사용자 범위에서 실행되는지 궁금합니다. – workabyte

+0

덕분에 현재 작업 디렉토리를 VIX 디렉토리로 변경 했으므로 작동합니다. –

+0

기본적으로 ['system'] (https://docs.python.org/2/library/os.html#os.system)은'cmd.exe/c 명령 '을 사용합니다. 분명히'cmd/c' [인용 인용 처리] (https://ss64.com/nt/syntax-cmd.html)의 문서를 읽지 않은 것 같습니다. 여분의 큰 따옴표로 전체 명령 줄을 감싸십시오. 또는 명령 문자열 (리스트가 아닌)을'shell = True'로'subprocess.call'에 전달하거나'subprocess.check_output'을 사용하여 파일을 직접 작성하십시오. – eryksun

답변

1

예제 getoutput 명령을 사용하면 하위 프로세스 모듈을 살펴볼 수 있습니다.