Rumah pembangunan bahagian belakang Tutorial Python Cara menggunakan modul subproses untuk melaksanakan arahan luaran dalam Python 3.x

Cara menggunakan modul subproses untuk melaksanakan arahan luaran dalam Python 3.x

Jul 30, 2023 pm 05:01 PM
python subprocess Laksanakan arahan luaran

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.

  1. Laksanakan perintah luaran melalui fungsi subprocess.run()
    Fungsi subprocess.run() ialah fungsi baharu dalam Python 3.5 dan versi yang lebih baru. Ia digunakan untuk menjalankan perintah luaran yang ditentukan.

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

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 表示将输出以文本形式返回。

  1. 通过subprocess.Popen()函数执行外部命令
    subprocess模块还提供了Popen类,它是一个更底层的接口,可以用来执行更复杂的命令,并对命令的输入/输出进行更精细的控制。

下面是一个示例,演示如何使用subprocess.Popen()函数执行外部命令,并对命令的输出进行逐行读取:

import subprocess

# 执行外部命令
process = subprocess.Popen(['ping', 'www.baidu.com'], stdout=subprocess.PIPE, text=True)

# 逐行读取输出
for line in process.stdout:
    print(line.strip())
Salin selepas log masuk

在上面的代码中,我们使用subprocess.Popen()函数执行了ping www.baidu.com命令,并将命令的输出通过stdout管道返回。我们通过遍历stdout管道逐行读取命令的输出,并打印到控制台。

需要注意的是,当使用Popen类执行命令时,并不会自动等待命令执行完毕。如果需要等待命令执行完毕,可以通过process.wait()函数来实现。

  1. 通过subprocess.call()函数执行外部命令
    subprocess模块还提供了call函数,用于执行外部命令,并等待其执行完毕。

下面是一个示例,演示如何使用subprocess.call()函数执行外部命令,并获取命令的返回码:

import subprocess

# 执行外部命令
return_code = subprocess.call(['git', 'clone', 'https://github.com/username/repo'])

# 输出返回码
print(return_code)
Salin selepas log masuk

在上面的代码中,我们使用subprocess.call()函数执行了git clone

    Laksanakan arahan luaran melalui subproses.Fungsi Popen()

    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:

    rrreee

    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.

    🎜Perlu diingatkan bahawa apabila menggunakan kelas Popen untuk melaksanakan arahan, ia tidak akan menunggu secara automatik untuk arahan itu dilaksanakan. Jika anda perlu menunggu arahan untuk dilaksanakan, anda boleh menggunakan fungsi process.wait() untuk mencapai ini. 🎜
      🎜Laksanakan arahan luaran melalui fungsi subprocess.call()🎜Modul subproses juga menyediakan fungsi panggilan, yang digunakan untuk melaksanakan perintah luaran dan menunggu pelaksanaannya selesai. 🎜🎜🎜Berikut ialah contoh yang menunjukkan cara menggunakan fungsi subprocess.call() untuk melaksanakan arahan luaran dan mendapatkan kod pulangan arahan: 🎜rrreee🎜Dalam kod di atas, kami melaksanakan menggunakan subproses .call() function git clone arahan dan lulus alamat gudang sebagai parameter. Selepas melaksanakan arahan dengan memanggil fungsi subprocess.call(), atur cara akan disekat sehingga arahan itu dilaksanakan. 🎜🎜Di sini anda boleh mendapatkan kod pulangan arahan melalui return_code, dan anda boleh menilai sama ada arahan itu berjaya dilaksanakan berdasarkan kod pulangan. 🎜🎜Ringkasan: 🎜Melalui modul subproses, kita boleh melaksanakan perintah luaran dengan mudah dalam Python dan mendapatkan output dan kod pulangan arahan itu. Artikel ini memperkenalkan tiga kaedah yang biasa digunakan: subprocess.run(), subprocess.Popen() dan subprocess.call(). Mengikut keperluan yang berbeza, pilih kaedah yang sesuai untuk melaksanakan arahan luaran. 🎜🎜Saya harap artikel ini akan membantu anda memahami cara menggunakan modul subproses untuk melaksanakan arahan luaran dalam Python 3.x. 🎜

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!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Hadidb: Pangkalan data yang ringan dan berskala mendatar di Python Hadidb: Pangkalan data yang ringan dan berskala mendatar di Python Apr 08, 2025 pm 06:12 PM

Hadidb: Pangkalan data Python yang ringan, tinggi, Hadidb (Hadidb) adalah pangkalan data ringan yang ditulis dalam Python, dengan tahap skalabilitas yang tinggi. Pasang HadIdb menggunakan pemasangan PIP: Pengurusan Pengguna PipInstallHadidB Buat Pengguna: CreateUser () Kaedah untuk membuat pengguna baru. Kaedah pengesahan () mengesahkan identiti pengguna. dariHadidb.OperationImportuserer_Obj = user ("admin", "admin") user_obj.

Kaedah Navicat untuk melihat kata laluan pangkalan data MongoDB Kaedah Navicat untuk melihat kata laluan pangkalan data MongoDB Apr 08, 2025 pm 09:39 PM

Tidak mustahil untuk melihat kata laluan MongoDB secara langsung melalui Navicat kerana ia disimpan sebagai nilai hash. Cara mendapatkan kata laluan yang hilang: 1. Tetapkan semula kata laluan; 2. Periksa fail konfigurasi (mungkin mengandungi nilai hash); 3. Semak Kod (boleh kata laluan Hardcode).

Rancangan Python 2 jam: Pendekatan yang realistik Rancangan Python 2 jam: Pendekatan yang realistik Apr 11, 2025 am 12:04 AM

Anda boleh mempelajari konsep pengaturcaraan asas dan kemahiran Python dalam masa 2 jam. 1. Belajar Pembolehubah dan Jenis Data, 2.

Bagaimana untuk mengoptimumkan prestasi MySQL untuk aplikasi beban tinggi? Bagaimana untuk mengoptimumkan prestasi MySQL untuk aplikasi beban tinggi? Apr 08, 2025 pm 06:03 PM

Panduan Pengoptimuman Prestasi Pangkalan Data MySQL Dalam aplikasi yang berintensifkan sumber, pangkalan data MySQL memainkan peranan penting dan bertanggungjawab untuk menguruskan urus niaga besar-besaran. Walau bagaimanapun, apabila skala aplikasi berkembang, kemunculan prestasi pangkalan data sering menjadi kekangan. Artikel ini akan meneroka satu siri strategi pengoptimuman prestasi MySQL yang berkesan untuk memastikan aplikasi anda tetap cekap dan responsif di bawah beban tinggi. Kami akan menggabungkan kes-kes sebenar untuk menerangkan teknologi utama yang mendalam seperti pengindeksan, pengoptimuman pertanyaan, reka bentuk pangkalan data dan caching. 1. Reka bentuk seni bina pangkalan data dan seni bina pangkalan data yang dioptimumkan adalah asas pengoptimuman prestasi MySQL. Berikut adalah beberapa prinsip teras: Memilih jenis data yang betul dan memilih jenis data terkecil yang memenuhi keperluan bukan sahaja dapat menjimatkan ruang penyimpanan, tetapi juga meningkatkan kelajuan pemprosesan data.

Python: meneroka aplikasi utamanya Python: meneroka aplikasi utamanya Apr 10, 2025 am 09:41 AM

Python digunakan secara meluas dalam bidang pembangunan web, sains data, pembelajaran mesin, automasi dan skrip. 1) Dalam pembangunan web, kerangka Django dan Flask memudahkan proses pembangunan. 2) Dalam bidang sains data dan pembelajaran mesin, numpy, panda, scikit-learn dan perpustakaan tensorflow memberikan sokongan yang kuat. 3) Dari segi automasi dan skrip, Python sesuai untuk tugas -tugas seperti ujian automatik dan pengurusan sistem.

Cara Menggunakan AWS Glue Crawler dengan Amazon Athena Cara Menggunakan AWS Glue Crawler dengan Amazon Athena Apr 09, 2025 pm 03:09 PM

Sebagai profesional data, anda perlu memproses sejumlah besar data dari pelbagai sumber. Ini boleh menimbulkan cabaran kepada pengurusan data dan analisis. Nasib baik, dua perkhidmatan AWS dapat membantu: AWS Glue dan Amazon Athena.

Cara memulakan pelayan dengan redis Cara memulakan pelayan dengan redis Apr 10, 2025 pm 08:12 PM

Langkah -langkah untuk memulakan pelayan Redis termasuk: Pasang Redis mengikut sistem operasi. Mulakan perkhidmatan Redis melalui Redis-server (Linux/macOS) atau redis-server.exe (Windows). Gunakan redis-cli ping (linux/macOS) atau redis-cli.exe ping (windows) perintah untuk memeriksa status perkhidmatan. Gunakan klien Redis, seperti redis-cli, python, atau node.js untuk mengakses pelayan.

Bolehkah mysql menyambung ke pelayan SQL Bolehkah mysql menyambung ke pelayan SQL Apr 08, 2025 pm 05:54 PM

Tidak, MySQL tidak dapat menyambung terus ke SQL Server. Tetapi anda boleh menggunakan kaedah berikut untuk melaksanakan interaksi data: Gunakan middleware: data eksport dari MySQL ke format pertengahan, dan kemudian mengimportnya ke SQL Server melalui middleware. Menggunakan Pangkalan Data Pangkalan Data: Alat perniagaan menyediakan antara muka yang lebih mesra dan ciri -ciri canggih, pada dasarnya masih dilaksanakan melalui middleware.

See all articles