반응형
Python 스크립트는 터미널에서 명령을 실행합니다.
나는 얼마 전에 이것을 어딘가에서 읽었지만 그것을 찾을 수없는 것 같습니다. 터미널에서 명령을 실행 한 다음 결과를 출력하는 명령을 찾으려고합니다.
예 : 스크립트는 다음과 같습니다.
command 'ls -l'
터미널에서 해당 명령을 실행 한 결과가 나옵니다.
이를 수행하는 방법에는 여러 가지가 있습니다.
간단한 방법은 os 모듈을 사용하는 것입니다.
import os
os.system("ls -l")
하위 프로세스 모듈을 사용하면 더 복잡한 작업을 수행 할 수 있습니다. 예 :
import subprocess
test = subprocess.Popen(["ping","-W","2","-c", "1", "192.168.1.70"], stdout=subprocess.PIPE)
output = test.communicate()[0]
하위 프로세스 모듈 사용을 선호합니다.
from subprocess import call
call(["ls", "-l"])
이유는 스크립트에서 일부 변수를 전달하려는 경우 예를 들어 코드의 다음 부분을 취하는 매우 쉬운 방법을 제공하기 때문입니다.
abc = a.c
call(["vim", abc])
실제로 하위 프로세스에 대한 모든 질문은 좋은 읽기가 될 것입니다.
명령도 살펴 봐야합니다.
이것은 길이 2의 튜플을 반환합니다. 첫 번째는 반환 정수 (0-명령이 성공하면 0)이고 두 번째는 터미널에 표시되는 전체 출력입니다.
ls의 경우
import commands
s=commands.getstatusoutput('ls')
print s
>> (0, 'file_1\nfile_2\nfile_3')
s[1].split("\n")
>> ['file_1', 'file_2', 'file_3']
일은 os.popen ()는 꽤 간단하게 사용하는 것입니다,하지만 파이썬 2.6 이후 사용되지 않습니다. 대신 subprocess 모듈을 사용해야합니다 .
여기에서 읽으십시오 : os.popen (command)를 문자열로 읽어 오기
import os
os.system("echo 'hello world'")
작동합니다. 출력을 파이썬 셸에 인쇄하는 방법을 모르겠습니다.
'os'모듈을 가져 와서 다음과 같이 사용할 수 있습니다.
import os
os.system('#DesiredAction')
참고 URL : https://stackoverflow.com/questions/3730964/python-script-execute-commands-in-terminal
반응형
'Program Tip' 카테고리의 다른 글
iPhone-로컬 파일 URL의 NSData (0) | 2020.10.04 |
---|---|
ASP.Net MVC 앱에서 문화 설정 (0) | 2020.10.04 |
Pandas 데이터 프레임 내의 열을 정수에서 문자열로 변환 (0) | 2020.10.04 |
출력에서 동일한 길이를 얻기 위해 printf ()를 사용하여 문자열을 포맷하는 방법은 무엇입니까? (0) | 2020.10.04 |
logcat에서 긴 메시지를 표시하는 방법 (0) | 2020.10.04 |