GNU/Linux >> Belajar Linux >  >> Linux

Cara menjalankan perintah Shell dengan Python

Python adalah salah satu bahasa pemrograman populer di luar sana. Jika Anda menggunakan Linux, mempelajarinya membantu Anda dalam mengotomatiskan alur kerja dan skrip.

Kegunaan Python berasal dari kemudahan penggunaan dan pustaka standarnya. Dengannya, Anda dapat menjalankan perintah shell dengan sukses, dan itulah topik tutorial kami hari ini.

Dalam kebanyakan kasus, Anda mungkin pernah menggunakan file bash atau batch untuk menjalankan perintah Anda, tetapi Anda juga dapat melakukannya dengan Python. Kami akan memandu Anda tentang cara menjalankan perintah shell dengan Python.

Mengeksekusi perintah Shell dengan Python

1. Modul OS

Salah satu cara termudah dan teraman untuk menjalankan perintah shell melalui Python adalah dengan menggunakan os.system().

Mari simpan file Python kita sebagai usingos.py .

Di bawah ini adalah kode yang Anda perlukan untuk menggunakannya dalam data Anda.

import os
os.system('ls')

Dalam file Python, pertama-tama kita mengimpor modul os dan kemudian memanggil metode sistem() untuk meneruskan perintah yang ingin Anda jalankan. Seperti yang Anda lihat, kami menjalankan perintah "ls" di dalamnya. Jika Anda menjalankan file python, maka Anda akan mendapatkan output sebagai berikut.

python usingos.py

Namun, penggunaan modul os sangat terbatas. Pertama-tama, Anda tidak akan dapat menyimpan output ke variabel.

Untuk menyimpan output, Anda perlu menggunakan fungsi yang berbeda dengan modul os. Itu terbuka(). Itu hanya membuka pipa ke dan dari baris perintah. Dengan demikian, aliran Python dapat diakses, dan karenanya nilainya dapat disimpan dalam variabel.

Mari simpan skrip Python baru kita sebagai savingvalue.py

Di dalamnya, Anda perlu mengetikkan kode berikut.

import os
stream = os.popen('eThe value is now returned')
output = stream.read()
print (output)

2. Modul Subproses

Terakhir, kita akan melihat modul subproses. Jika Anda serius menjalankan perintah shell menggunakan Python, maka Anda harus menggunakan metode subproses. Anda memerlukan versi Python di 3.5 atau lebih tinggi untuk menggunakan modul subproses.

Tetapi mengapa Anda harus melakukannya? Itu karena fakta bahwa subproses hadir dengan fitur luar biasa yang berfungsi dengan baik saat bekerja dengan perintah shell dengan Python. Misalnya, Anda akan dapat menyimpan hasil dalam variabel dan juga memulai proses baru tanpa mencoba menemukan kembali roda.

Mari kita lihat contoh untuk mendapatkan pemahaman yang lebih baik. Kami menamai file kami untuk contoh ini sebagai subproc.py.

Di dalamnya, Anda perlu menggunakan kode berikut.

import subprocess
list_file_names = subprocess.run(['ls'])
print ("Here are the files %d" %list_file_names.returncode)

Baris pertama kode mengimpor modul subproses. Setelah selesai, sekarang kita membuat variabel baru bernama “list_file_names” dan kemudian menggunakan fungsi subprocess.run(). Dibutuhkan masukan dalam daftar. Seperti yang Anda lihat, kami memasukkan perintah Linux, ls yang mencantumkan file dan folder.

Terakhir, kami mencetak variabel dengan kode pengembalian.

Untuk meneruskan argumen ke perintah, Anda harus meneruskan argumen sebagai elemen lain dalam daftar. Jadi, jika Anda ingin meneruskan argumen “-l” ke “ls,” maka daftarnya akan seperti di bawah ini:

["ls","-l"]

Kesimpulan

Ini membawa kita ke penyelesaian tutorial tentang cara menjalankan perintah Shell dengan Python menggunakan os dan subproses modul. Sedangkan os module lebih merupakan solusi langsung untuk menjalankan shell perintah, subproses modul memiliki fitur yang lebih kuat untuk memicu proses baru dan mengekstrak output. Apa lagi cara Anda menggunakan Python? Bagikan trik Anda dengan pembaca kami di komentar di bawah.


Linux
  1. Cara Dockerize Aplikasi Python Dengan Miniconda

  2. Cara menggunakan ekspor dengan Python di Linux

  3. Bagaimana cara menyimpan hasil dari perintah Shell yang dieksekusi dalam variabel dengan python?

  1. Cara mengeksekusi file python di linux

  2. Bagaimana cara menjalankan perintah bash dengan hak sudo di Jawa?

  3. Bagaimana cara menggunakan perintah su melalui adb shell?

  1. Bagaimana Cara Menjalankan Perintah di Shell Tanpa Menyimpannya ke Riwayat? [Kiat Linux]

  2. Bagaimana cara mengeksekusi kode di shell Django dengan skrip python eksternal?

  3. Bagaimana cara menjalankan perintah shell eksternal dari pengontrol laravel?