2009-02-01 25 views
8

Có phương pháp tích hợp trong Python để thực thi lệnh hệ thống mà không hiển thị đầu ra không? Tôi chỉ muốn lấy giá trị trả về.Trong Python - cách thực hiện lệnh hệ thống mà không có đầu ra

Điều quan trọng là nó là nền tảng chéo, vì vậy chỉ cần chuyển hướng đầu ra đến/dev/null sẽ không hoạt động trên Windows và ngược lại. Tôi biết tôi có thể chỉ cần kiểm tra os.platform và xây dựng chuyển hướng bản thân mình, nhưng tôi hy vọng cho một giải pháp được xây dựng trong.

Trả lời

17
import os 
import subprocess 
subprocess.call(["ls", "-l"], stdout=open(os.devnull, "w"), stderr=subprocess.STDOUT) 
2

Bạn có thể chuyển hướng đầu ra vào tệp tạm thời và xóa nó sau đó. Nhưng cũng có một phương thức gọi là popen chuyển hướng đầu ra trực tiếp đến chương trình của bạn để nó không xuất hiện trên màn hình.

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