Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Saya Boleh Menjalankan Subproses secara Senyap dalam Python pada Ubuntu dan Menindas Outputnya?

Bagaimanakah Saya Boleh Menjalankan Subproses secara Senyap dalam Python pada Ubuntu dan Menindas Outputnya?

DDD
Lepaskan: 2024-12-11 03:54:15
asal
428 orang telah melayarinya

How Can I Silently Run a Subprocess in Python on Ubuntu and Suppress its Output?

Menyenyapkan Output Subproses pada Ubuntu

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.

Mengubah Hala Output dalam Python >= 3.3

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)
Salin selepas log masuk

Mengubah hala Output dalam Python < 3.3

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)
Salin selepas log masuk

Persamaan dengan Perintah Shell

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan