Vì vậy, tôi đang cố gắng để lưu trữ đầu ra của một lệnh vào một biến. Tôi không muốn nó hiển thị đầu ra trong khi chạy lệnh mặc dù ...ngăn chặn subprocess.Popen từ hiển thị đầu ra trong python
Code tôi đã ngay bây giờ được như sau ...
def getoutput(*args):
myargs=args
listargs=[l.split(' ',1) for l in myargs]
import subprocess
output=subprocess.Popen(listargs[0], shell=False ,stdout=subprocess.PIPE)
out, error = output.communicate()
return(out,error)
def main():
a,b=getoutput("httpd -S")
if __name__ == '__main__':
main()
Nếu tôi đặt điều này trong một tập tin và thực hiện nó trên dòng lệnh. Tôi nhận được kết quả sau đây mặc dù tôi không có một tuyên bố in trong mã. Làm thế nào tôi có thể ngăn chặn điều này, trong khi vẫn lưu trữ đầu ra?
#python ./apache.py
httpd: Could not reliably determine the server's fully qualified domain name, using xxx.xxx.xxx.xx for ServerName
Syntax OK
Rất tiếc, tôi xấu, nhờ giải thích rõ ràng! – user1601716
bạn nên sử dụng os.devnull cho tính di động cho cửa sổ – jtaylor