Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah saya Boleh Mendapatkan Keluaran daripada subprocess.call()?

Bagaimanakah saya Boleh Mendapatkan Keluaran daripada subprocess.call()?

Linda Hamilton
Linda Hamiltonasal
2024-12-05 03:53:09482semak imbas

How Can I Retrieve Output from subprocess.call()?

Mendapatkan Keluaran daripada Subproses Menggunakan Subprocess.call()

Untuk mendapatkan semula output daripada subproses yang dilancarkan menggunakan subprocess.call(), anda boleh memanfaatkan keupayaan modul subproses. Begini caranya:

Untuk Python Versi 2.7 dan Kemudian:

Gunakan subprocess.check_output():

import subprocess

output = subprocess.check_output(["ping", "-c", "1", "8.8.8.8"])

Pendekatan ini mengembalikan output standard sebagai rentetan, dengan berkesan mengendalikan perolehan keluaran tugasan.

Untuk Versi Python Sebelum 2.7:

Anda boleh mengubah hala keluaran menggunakan cangkerang:

import subprocess

process = subprocess.Popen(["ping", "-c", "1", "8.8.8.8"], shell=True, stdout=subprocess.PIPE)

# Read the output
output = process.communicate()[0]

Nota Tambahan :

  • Kaedah ini sesuai untuk mudah arahan.
  • Apabila menggunakan subprocess.Popen(), pastikan parameter stdout ditetapkan kepada subprocess.PIPE untuk mendapatkan semula output.
  • Jika arahan itu menggunakan sintaks Linux, ingat untuk melaraskannya dengan sewajarnya untuk Windows.

Untuk butiran lanjut dan pendekatan alternatif, rujuk penjelasan komprehensif yang disediakan dalam yang lain ini jawab.

Atas ialah kandungan terperinci Bagaimanakah saya Boleh Mendapatkan Keluaran daripada subprocess.call()?. 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