Modul subproses Python menyediakan cara untuk melaksanakan arahan luaran dalam program Python. Ia membolehkan kami berinteraksi dengan baris arahan sistem pengendalian dan mengawal serta merujuk output dan tingkah laku program luaran melalui kod. Artikel ini akan memperkenalkan cara menggunakan modul subproses untuk melaksanakan arahan luaran dan menyediakan beberapa contoh kod praktikal.
Untuk melaksanakan perintah luaran ringkas, anda boleh menggunakan fungsi subprocess.call()
modul subproses. Fungsi ini akan mengembalikan kod status keluar arahan selepas melaksanakan arahan luaran. subprocess.call()
函数。这个函数在执行完外部命令后会返回命令的退出状态码。
import subprocess # 执行一个简单的外部命令:获取当前目录下的文件列表 subprocess.call('ls')
如果想要获取外部命令的输出结果,可以使用subprocess.check_output()
函数。这个函数会执行外部命令,并将其输出作为函数的返回值。
import subprocess # 执行外部命令:获取当前目录下的文件列表 output = subprocess.check_output('ls') print(output)
有时候,我们需要将输入数据传递给外部命令,或者从外部命令中获取实时的输出。subprocess模块提供了Popen
类来满足这些需求。
import subprocess # 执行外部命令:使用cat命令将输入数据输出到标准输出 input_data = b'Hello, World!' process = subprocess.Popen(['cat'], stdin=subprocess.PIPE, stdout=subprocess.PIPE) output, error = process.communicate(input=input_data) print(output)
当外部命令的参数包含空格时,需要将整个命令作为一个字符串传递给subprocess.call()
或subprocess.check_output()
import subprocess # 执行外部命令:计算一个数的平方 number = 10 subprocess.call('python -c "print({}**2)"'.format(number), shell=True)
subprocess.check_output()
. Fungsi ini melaksanakan perintah luaran dan mengembalikan outputnya sebagai nilai pulangan fungsi. import subprocess # 执行外部命令:命令不存在 try: subprocess.check_output('nonexistent_command') except subprocess.CalledProcessError as e: print('Command execution failed:', e)
Kawal input dan output arahan luaran
Kadangkala, kita perlu menghantar data input kepada arahan luaran, atau dapatkan output masa nyata daripada arahan luaran. Modul subproses menyediakan kelasPopen
untuk memenuhi keperluan ini. 🎜rrreeesubprocess.call() sebagai fungsi rentetan
atau subprocess.check_output()
. 🎜rrreee🎜🎜Tambah pengendalian ralat🎜🎜🎜Apabila melaksanakan arahan luaran, beberapa ralat mungkin berlaku, seperti arahan tidak wujud atau pelaksanaan arahan gagal. Kita boleh menggunakan pernyataan try-except untuk mengendalikan ralat ini. 🎜rrreee🎜Kod sampel ini menunjukkan cara menggunakan modul subproses untuk melaksanakan arahan luaran. Menggunakan modul subproses membolehkan kami berinteraksi dengan mudah dengan baris arahan dan mengawal tingkah laku program luaran secara fleksibel. Sama ada arahan mudah atau tugas yang kompleks, modul subproses boleh membantu kami mencapainya. 🎜Atas ialah kandungan terperinci Cara menggunakan modul subproses untuk melaksanakan arahan luaran dalam Python 2.x. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!