Tôi muốn gán đầu ra của lệnh tôi chạy bằng os.system
một biến và ngăn không cho nó xuất ra màn hình. Nhưng, trong đoạn mã dưới đây, đầu ra được gửi đến màn hình và giá trị được in var
là 0, mà tôi đoán có nghĩa là lệnh đã chạy thành công hay chưa. Có cách nào để gán đầu ra lệnh cho biến và cũng ngăn nó hiển thị trên màn hình không?
var = os.system("cat /etc/services")
print var #Prints 0
os.system
(cũng không os.popen
, theo câu trả lời bạn chấp nhận): sử dụng subprocess.Popen
, cách đó tốt hơn!
subprocess.Popen
- chỉ cần thêm shell=True
!
shell=True
(nói chung) là một ý tưởng rất tồi! Bạn phải rất chắc chắn về những gì bạn đang thực hiện :)