Terdapat beberapa cara biasa untuk melaksanakan arahan sistem dalam Python
Nota: Kod contoh berikut dijalankan di bawah Python3.5.
os.system(cmd)
Jalankan arahan sistem di sub-terminal untuk mendapatkan maklumat pemulangan selepas pelaksanaan arahan dan status dikembalikan oleh pelaksanaan
>>> import os >>> os.system('date') 2018年 4月 8日 星期日 19时29分13秒 CST 0 #运行状态号,0表示正确
Selepas pelaksanaan, dua baris keputusan dikembalikan. Baris pertama ialah keputusan, dan baris kedua ialah maklumat status pelaksanaan
os.popen(cmd)
Bukan sahaja melaksanakan arahan tetapi juga mengembalikan objek maklumat selepas pelaksanaan (sering digunakan untuk mendapatkan maklumat pemulangan selepas melaksanakan arahan Hasilnya dikembalikan melalui fail saluran paip
).>>> import os >>> nowtime = os.popen('date') >>> print(nowtime.read()) 2018年 4月 8日 星期日 19时30分35秒 CST
Kaedah Penerangan
getoutput Mendapat maklumat pemulangan selepas melaksanakan arahan
getstatus mendapat nilai status bagi arahan yang dilaksanakan (jika arahan itu berjaya dilaksanakan, ia mengembalikan nilai 0, jika tidak ia mengembalikan bukan 0)
getstatusoutput Mendapat nilai status dan mengembalikan maklumat arahan yang dilaksanakan
>>> import commonds >>> status, output = commands.getstatusoutput('date') >>> print(status) # 0 >>> print(output) # 2018年 4月 8日 星期日 19时31分45秒 CST
Nota 1: Nilai pulangan (status) yang dikembalikan dengan menggunakan kaedah ini di bawah sistem seperti Unix tidak sama dengan nilai pulangan selepas skrip atau perintah dilaksanakan Ini kerana os.wait() dipanggil sebab mesti ditentukan Ketahui tentang pelaksanaan sistem tunggu(). Jika anda memerlukan nilai pulangan yang betul (status), anda hanya perlu mengalihkan nilai pulangan ke kanan sebanyak 8 bit.
Nota 2: Apabila parameter atau pengembalian perintah pelaksanaan mengandungi aksara Cina, adalah disyorkan untuk menggunakan subproses.
Gunakan kawalan dan pemantauan benang dan tetapkan hasil yang dikembalikan kepada pembolehubah untuk memudahkan pemprosesan program. Terdapat parameter kaya yang boleh dikonfigurasikan, banyak pilihan untuk penyesuaian dan fleksibiliti yang tinggi. Apabila saya menggunakan os.system sebelum ini, saya menghadapi masalah deskriptor fail yang diwarisi oleh proses anak Saya kemudian menyelesaikannya dengan menggunakan parameter close_fds = False. Dokumen rasmi: http://python.usyiyi.cn/python_278/library/subprocess.html
>>> import subprocess >>> nowtime = subprocess.Popen('date', shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) >>> print(nowtime.stdout.read()) 2018年 4月 8日 星期日 19时32分41秒 CST
Atas ialah kandungan terperinci Empat cara untuk melaksanakan arahan sistem python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!