Cara Melaksanakan Perintah Luaran atau Program di Python

Cara Melaksanakan Perintah Luaran atau Program di Python

Python subprocess Modul membolehkan untuk menanam proses baru, dan melaksanakan arahan luaran atau skrip dari skrip python. Anda boleh memasang versi terkini Python menggunakan tutorial ini. Juga, terdapat beberapa IDE yang tersedia untuk Python. Seperti memasang Pycharm Python Ide di Ubuntu Systems.

Python Scrpt to Call Sistem Perintah

Mari buat program pertama anda untuk menyenaraikan semua fail yang terdapat di direktori semasa. Anda boleh menambah bilangan parameter baris arahan dengan COMM (,) dipisahkan.

#!/usr/bin/python3 subprocess import subprocess.Hubungi (["ls", "-l"])
1234#!/usr/bin/python3 import subprocesssubprocess.Hubungi (["ls", "-l"])

Di mana-

  • Penyata Import digunakan untuk memuatkan modul subprocess Borang Perpustakaan Standard Python
  • Panggilan adalah fungsi modul subprocess, digunakan untuk melaksanakan arahan luaran

Cetak python tanpa garis baru

Perintah Python ditamatkan dengan output baris baru "\ n", yang boleh anda tulis ganti menggunakan akhir = "" bermaksud output arahan seterusnya akan berada di baris yang sama. Lihat contoh di bawah.

#!/usr/bin/python3 import subprocess print ("\ ntoday is",) subprocess.Hubungi (["tarikh", "+%d"])
123456#!/usr/bin/python3 import subprocess print ("\ ntoday is", end = "") subprocess.Hubungi (["tarikh", "+%d"])

Hasilnya:

Hari ini adalah 01/11/18 

Contoh python dengan pengembangan shell

Subprocess lalai.Panggilan tidak mengembangkan kad liar shell atau melaksanakan penggantian arahan. Ini dapat ditindih dengan lulus nilai sebenar untuk argumen shell. Ingat bahawa penggunaan shell = benar boleh menjadi isu keselamatan untuk sistem anda dengan melaksanakan perintah yang berbahaya.

#!/usr/bin/python3 import subprocess # melaksanakan perintah tanpa subprocess pengembangan shell.Call (['echo', 'welcome $ user']) # melaksanakan arahan dengan subprocess pengembangan shell.Hubungi ('echo welcome $ user', shell = true)
123456789#!/usr/bin/python3 import subprocess # melaksanakan perintah tanpa expansionsubprocess shell.Call (['echo', 'welcome $ user']) # melaksanakan arahan dengan expansionsubprocess shell.Hubungi ('echo welcome $ user', shell = true)

Hasilnya:

Selamat Datang $ Root Selamat Datang Pengguna 

Anda dapat melihat dalam output di atas bahawa arahan pertama mencetak nama pembolehubah kerana ia dilaksanakan tanpa pengembangan shell. Perintah kedua yang dilaksanakan dengan pengembangan shell mendapatkan nilai pembolehubah persekitaran pengguna. Juga, anda dapat melihat bahawa keseluruhan arahan kini diluluskan sebagai rentetan dan bukan sebagai senarai rentetan.

Contoh python lain yang berguna

Anda boleh membuat skrip anda lebih banyak format yang boleh dibaca dan cantik dengan menyimpan arahan panjang dalam pemboleh ubah dan kemudian melaksanakannya.

#!/usr/bin/python3 import subprocess cmd = "grep -re 'fatal'/var/log/> carian.txt "subprocess.Hubungi (CMD, Shell = Benar)
123456#!/usr/bin/python3 import subprocess cmd = "grep -re 'fatal'/var/log/> carian.txt "subprocess.Hubungi (CMD, Shell = Benar)

Anda juga boleh menyimpan output mana -mana arahan kepada pembolehubah menggunakan subprocess.getoutput. Ini juga akan disimpan jika ada mesej ralat yang dihasilkan.

#!/usr/bin/python3 import subprocess print ("Output 'Pwd' Command adalah:", Flush = true) output = Subprocess.cetakan getOutput ('pwd') (output)
12345678#!/usr/bin/python3 import subprocess print ("Output 'Pwd' Command adalah:", Flush = true) output = Subprocess.cetakan getOutput ('pwd') (output)

Hasilnya:

Output arahan 'PWD' ialah:/root/python/skrip