[PYTHON] 파이썬에서 subprocess.call을 사용할 때 stdout을 파일로 리디렉션하는 방법은 무엇입니까?
PYTHON파이썬에서 subprocess.call을 사용할 때 stdout을 파일로 리디렉션하는 방법은 무엇입니까?
다른 파이썬 스크립트 (A)에서 파이썬 스크립트 (B)를 호출하고 있습니다.
subprocess.call을 사용하여 B의 표준 출력을 어떻게 지정하는 파일로 리디렉션합니까?
파이썬 2.6.1을 사용하고 있습니다.
해결법
-
==============================
1.파일을 stdout 매개 변수로 subprocess.call에 전달합니다.
파일을 stdout 매개 변수로 subprocess.call에 전달합니다.
with open('out-file.txt', 'w') as f: subprocess.call(['program'], stdout=f)
-
==============================
2.대체 접근법
대체 접근법
import subprocess p=subprocess.Popen('lsblk -l|tee a.txt',stdout=subprocess.PIPE,shell=True) (output,err)=p.communicate() p_status=p.wait() print output
위 코드는 명령 출력을 a.txt 파일에 씁니다.
from https://stackoverflow.com/questions/9347004/how-do-i-redirect-stdout-to-a-file-when-using-subprocess-call-in-python by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] 팬더 : 여기서 메모리 누수가 어디 있지? (0) | 2018.11.26 |
---|---|
[PYTHON] 멀티 코어를 사용하지 않는 IPython.parallel? (0) | 2018.11.25 |
[PYTHON] 파이썬 GUI 빌더 [닫기] (0) | 2018.11.25 |
[PYTHON] django-allauth에서 템플릿을 재정의하는 방법은 무엇입니까? (0) | 2018.11.25 |
[PYTHON] cProfile에서 의미있는 결과를 얻는 파이썬 (0) | 2018.11.25 |