2013-01-22 3 views
6

가능한 복제를 쉘에서 명령을 실행하는 방법 :
Calling an external command in Python파이썬을 통해

내가 파이썬을 사용하여 다른 디렉토리에서 명령을 실행하려는

.

가장 많이 사용되는 다양한 방법은 무엇입니까? 다음과 같이

내가하고 싶은 예를 들어

cd dir1 
execute some commands 
return 
cd dir2 
execute some commands 
+1

http://stackoverflow.com/questions/89228/calling-an-external-command-를 참조하십시오 in-python이 주제가 폭넓게 논의되었습니다. –

+0

아무 것도 시도하지 않았습니까? 어떤 연구를합니까? – Mike

답변

1
os.system("/dir/to/executeble/COMMAND") 

이다

핑 프로그램 "은/usr/bin에"당연히

당신이있는 경우

os.system("/usr/bin/ping www.google.com") 

os 모듈을 가져와야합니다.

os.system을 사용하면 출력을 원하는 경우 (즉, 액세스 호출 된 쉘 명령보다 효율적으로 관리를 원하는 경우에, 당신이 그

+0

누군가 누군가 우리에게 subprocess.call, os.system ...이 있다고 말했습니까? 어느 것이 유용합니까 ?? – mrutyunjay

+0

필요한 항목에 따라 다릅니다. 뒤에서 셸에서 무언가를 시작하려면 os.system을 사용하십시오. 당신이 프로세스의 결과를 기다리고 싶다면 subprocess.call이나 비슷한 것을 사용하십시오. subprocess.Popen, c에서 popen과 아주 비슷하게 작동합니다. – Gjordis

1

같은

subprocess.call 또는 무언가를 사용해야합니다, 모든 출력을 기다리지 않습니다

import subprocess 

p = subprocess.Popen('ls -al', shell=True, stdout=subprocess.PIPE) 
stdout, stderr = p.communicate() 

subprocess module documentation 참조 : 표준 입력 및/또는 표준 출력 파이프 또는 비동기 적으로 시작)에, 당신은 subprocess 모듈을 사용할 수 있습니다.

0

만 파이썬을 통해 쉘에 (단순) 명령을 실행하려는 경우 오류 메시지 등이 자연스럽게

5

을 출력을 확인, 명령을 실행받을 수 많은 모듈을 제공 Python Subprocess을 사용할 수 있습니다, 당신은 그것을 할 os 모듈의 system 기능을 통해 예를 들어 :

import os 
os.system('touch myfile') 

당신은 명령의 실행을 통해 더 큰 제어 할 수 있습니다 더 정교한 무언가가, 가서 여기에 다른 사람이 제시 한 subprocess 모듈을 사용하고자 할 경우.

자세한 내용

, 따라 이러한 링크 :

관련 문제