Cara menggunakan modul subproses untuk melaksanakan perintah luaran dalam Python 3.x
Dalam Python, kita selalunya perlu melaksanakan perintah sistem, seperti menjalankan atur cara lain, melaksanakan perintah shell, dsb. Python menyediakan modul subproses, yang membolehkan kami memanggil arahan luaran dengan mudah dan mendapatkan outputnya.
Artikel ini akan memperkenalkan cara menggunakan modul subproses dalam Python 3.x untuk melaksanakan arahan luaran dan menyediakan beberapa kod sampel.
Berikut ialah contoh mudah yang menunjukkan cara menggunakan fungsi subprocess.run() untuk melaksanakan arahan luaran dan mendapatkan output arahan:
import subprocess # 执行外部命令 result = subprocess.run(['ls', '-l'], capture_output=True, text=True) # 获取命令的输出 output = result.stdout # 输出到控制台 print(output)
Dalam kod di atas, kami menggunakan fungsi subprocess.run() untuk melaksanakan perintah ls -l
. Di sini kita menggunakan dua parameter untuk mengawal pelaksanaan arahan: capture_output=True bermaksud menangkap output arahan ke dalam objek hasil, dan text=True bermaksud mengembalikan output dalam bentuk teks. ls -l
命令。这里我们使用了两个参数来控制命令的执行:capture_output=True 表示将命令的输出捕获到result对象中,text=True 表示将输出以文本形式返回。
下面是一个示例,演示如何使用subprocess.Popen()函数执行外部命令,并对命令的输出进行逐行读取:
import subprocess # 执行外部命令 process = subprocess.Popen(['ping', 'www.baidu.com'], stdout=subprocess.PIPE, text=True) # 逐行读取输出 for line in process.stdout: print(line.strip())
在上面的代码中,我们使用subprocess.Popen()函数执行了ping www.baidu.com
命令,并将命令的输出通过stdout管道返回。我们通过遍历stdout管道逐行读取命令的输出,并打印到控制台。
需要注意的是,当使用Popen类执行命令时,并不会自动等待命令执行完毕。如果需要等待命令执行完毕,可以通过process.wait()函数来实现。
下面是一个示例,演示如何使用subprocess.call()函数执行外部命令,并获取命令的返回码:
import subprocess # 执行外部命令 return_code = subprocess.call(['git', 'clone', 'https://github.com/username/repo']) # 输出返回码 print(return_code)
在上面的代码中,我们使用subprocess.call()函数执行了git clone
Modul subproses juga menyediakan kelas Popen, iaitu antara muka peringkat rendah yang boleh digunakan untuk melaksanakan perintah yang lebih kompleks dan mengawal arahan Input/output untuk kawalan yang lebih halus.
Berikut ialah contoh yang menunjukkan cara menggunakan subproses.Popen() fungsi untuk melaksanakan arahan luaran dan membaca output baris arahan demi baris:
Dalam kod di atas, kami menggunakan subproses.Popen( ) fungsi untuk melaksanakan Perintah ping www.baidu.com
dilaksanakan, dan output arahan dikembalikan melalui paip stdout. Kami membaca output baris arahan demi baris dengan melintasi paip stdout dan mencetaknya ke konsol.
Atas ialah kandungan terperinci Cara menggunakan modul subproses untuk melaksanakan arahan luaran dalam Python 3.x. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!