Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Menggunakan Modul `subproses` Python dengan Tamat Masa?

Bagaimanakah Saya Boleh Menggunakan Modul `subproses` Python dengan Tamat Masa?

Susan Sarandon
Susan Sarandonasal
2024-12-26 01:51:08891semak imbas

How Can I Use Python's `subprocess` Module with a Timeout?

Menggunakan 'subproses' Modul dengan Tamat Masa

Dalam pengaturcaraan Python, selalunya perlu untuk melaksanakan arahan sewenang-wenangnya dan mendapatkan semula outputnya. Modul 'subproses' menyediakan fungsi yang mudah untuk tujuan ini, tetapi ia tidak mempunyai sokongan untuk tamat masa. Ini boleh menjadi had yang ketara apabila arahan itu dijangka berjalan untuk tempoh yang panjang.

Kod berikut menunjukkan pendekatan mudah untuk melaksanakan tamat masa dalam Python:

from subprocess import check_output

try:
    output = check_output(cmd, stderr=STDOUT, timeout=seconds)
except CalledProcessError as e:
    handle_error(e)

Fungsi check_output, diperkenalkan dalam Python 3.3 , membolehkan pemanggil menentukan tamat masa dalam beberapa saat. Jika arahan melebihi masa yang ditentukan, pengecualian CalledProcessError dinaikkan. Output arahan dikembalikan dalam pembolehubah 'output' sebagai rentetan bait.

Untuk pengguna Python 2.x, modul backport subprocess32 boleh digunakan untuk menyediakan kefungsian yang serupa.

The penyelesaian di atas menghapuskan keperluan untuk komunikasi yang jelas dengan proses dan menyediakan mekanisme yang lebih mudah untuk mengendalikan tamat masa.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggunakan Modul `subproses` Python dengan Tamat Masa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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