2011-08-16 33 views

Trả lời

20

Nếu bạn muốn hoàn toàn vứt nó đi:

import subprocess 
import os 
with open(os.devnull, 'w') as fp: 
    cmd = subprocess.Popen(("[command]",), stdout=fp) 

Nếu bạn đang sử dụng Python 2.5, bạn sẽ cần from __future__ import with_statement, hoặc chỉ không sử dụng with.

10

Trong Python 3.3+ bạn có thể sử dụng subprocess.DEVNULL, để ngăn chặn đầu ra:

from subprocess import DEVNULL, STDOUT, check_call 

check_call([cmd, arg1, arg2], stdout=DEVNULL, stderr=STDOUT) 

Di stderr=STDOUT nếu bạn không muốn để ngăn chặn stderr cũng có.

Các vấn đề liên quan