Dalam skrip Python yang disediakan, eSpeak clutter ialah shell dengan mesej ralat yang tidak diingini. Matlamatnya adalah untuk menyekat output ini sambil mengekalkan tindak balas boleh didengar yang dikehendaki. Walaupun tidak menemui cara langsung untuk menyekat keterlaluan eSpeak, penyelesaian wujud untuk menyenyapkan outputnya secara visual.
Untuk menyembunyikan output dengan berkesan, ubah hala ke peranti null menggunakan atribut DEVNULL:
import subprocess subprocess.call(['echo', 'foo'], stdout=subprocess.DEVNULL, stderr=subprocess.STDOUT)
Untuk versi sebelum Python 3.3, gunakan pendekatan berikut:
import os FNULL = open(os.devnull, 'w') subprocess.call(['echo', 'foo'], stdout=FNULL, stderr=subprocess.STDOUT)
Penyelesaian yang disediakan adalah serupa dengan menjalankan arahan shell berikut:
retcode = os.system("echo 'foo' > /dev/null")Dengan mengubah hala output ke /dev/null, kekusutan disembunyikan dengan berkesan, meninggalkan cangkerang bersih untuk interaksi selanjutnya.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menjalankan Subproses secara Senyap dalam Python pada Ubuntu dan Menindas Outputnya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!