Python

Cara mengurai argumen pada baris perintah dengan Python

Cara mengurai argumen pada baris perintah dengan Python
Argumen baris perintah digunakan untuk melewatkan data dalam program pada saat eksekusi program. Fitur ini tersedia di sebagian besar bahasa pemrograman populer. Tetapi pemrosesan argumen baris perintah berbeda untuk bahasa yang berbeda. Nilai argumen diberikan dengan nama program pada saat menjalankan program. Bahasa Python mendukung fitur ini. Bagaimana argumen baris perintah diuraikan dalam skrip Python ditampilkan di artikel ini.

Parsing argumen baris perintah menggunakan sistem modul

Argumen baris perintah disimpan ke dalam daftar menggunakan sistem modul.  sistem.argv digunakan untuk membaca nilai argumen baris perintah. Jumlah total argumen baris perintah dapat dihitung dengan menggunakan len() fungsi. Penggunaan modul ini dijelaskan di bagian artikel.

Contoh 1: Membaca jumlah argumen dan nilai argumen

Buat file dengan skrip python berikut.  Di sini, nilai argumen baris perintah disimpan dalam variabel, argv seperti bahasa lain. len() metode menghitung jumlah total argumen yang diteruskan pada saat menjalankan skrip. Nilai argumen dicetak sebagai array di akhir skrip.

# Impor modul sistem
sistem impor
# Cetak jumlah total argumen
print('Total argumen:', len(sys.argv))
print('Nilai argumennya adalah:', str(sys.argv))

Keluaran:

Skrip di atas dijalankan di sini menggunakan empat argumen baris perintah. Argumen pertama adalah nama skrip dan yang lainnya adalah nilai numerik. Output berikut akan muncul setelah menjalankan skrip:.

Contoh 2: Membaca nilai argumen menggunakan loop

Pada contoh sebelumnya, nilai argumen dicetak sebagai array. Buat file dengan skrip berikut untuk mencetak jenis variabel argumen dan mencetak setiap nilai argumen di setiap baris dengan menggunakan for loop.

# Impor modul sistem
sistem impor
# Cetak tipe variabel, sys.argv
cetak(ketik(sys.argv))
# Cetak setiap argumen baris perintah di setiap baris
print('Argumen baris perintah adalah:')
untuk saya di sys.argv:
cetak (i)

Keluaran:

Skrip di atas dijalankan dengan memberikan tiga argumen dengan nama skrip. Output berikut akan muncul setelah menjalankan skrip:.

Parsing argumen baris perintah menggunakan modul getopt

getopt modul digunakan untuk mengurai argumen baris perintah dengan opsi. getopt() metode modul ini digunakan untuk membaca argumen. Metode ini memiliki tiga argumen. Dua argumen pertama adalah wajib dan argumen terakhir adalah opsional. Penggunaan argumen ini diberikan di bawah ini.

argumen: Ini berisi argumen yang diambil dari argumen baris perintah.

opsi_pendek: Itu bisa berupa huruf apa saja yang lolos dengan argumen.

opsi_panjang: Ini digunakan untuk menentukan opsi panjang dengan dua bagian. Ini adalah nama opsi dan nilai opsi.

Sintaksis: getopt.getopt(args, short_option, [long_option])

Contoh 3: Membaca nilai argumen menggunakan opsi getopt pendek

getopt modul berisi lebih banyak fitur daripada sistem modul. Contoh berikut menunjukkan bagaimana opsi pendek dapat digunakan dalam getopt() metode. argv variabel akan menyimpan argumen baris perintah dengan menghilangkan nama skrip. Selanjutnya, dua opsi didefinisikan dalam getopt() metode yang dapat digunakan dengan argumen pada saat run-time. Jika terjadi kesalahan maka akan muncul pesan kesalahan.

# Impor modul getopt
impor getopt
# Impor modul sistem
sistem impor
# Simpan variabel argumen dengan menghilangkan nama skrip
argv = sys.argv[1:]
 
mencoba:
# Tentukan opsi getopt pendek
opsi, args = getopt.getopt(argv, 'x:y:')
# cetak opsi dan argumen
cetak (opsi)
cetak (args)
 
kecuali getopt.GetoptError:
# Cetak pesan kesalahan jika opsi yang diberikan salah
print('Pilihan yang diberikan salah')
# Hentikan skrip
sistem.keluar (2)

Keluaran:

Jalankan skrip tanpa argumen, argumen dengan opsi yang benar dan argumen dengan opsi yang salah wrong.

Contoh 4: Membaca nilai argumen menggunakan opsi getopt pendek dan panjang

Contoh ini menunjukkan bagaimana opsi pendek dan panjang dapat digunakan dengan nilai argumen. Ini akan menambahkan dua angka ketika '-Sebuah' atau '-Menambahkan' akan digunakan sebagai opsi dan kurangi dua angka ketika '-s' atau '-sub' akan digunakan sebagai opsi pada saat run-time.

# Impor modul getopt
impor getopt
# Impor modul sistem
sistem impor
# Simpan variabel argumen dengan menghilangkan nama skrip
argv = sys.argv[1:]
# Inisialisasi variabel hasil
hasil = 0
 
mencoba:
 
# Tentukan opsi getopt pendek dan panjang
opsi, args = getopt.getopt(sys.argv[1:], 'a:s', ['add=','sub='])
 
# Baca setiap opsi menggunakan for loop
untuk memilih, argumen dalam opsi:
# Hitung jumlah jika opsinya adalah -a atau --add
jika ikut serta ('-a', '--add'):
hasil = int(argv[1]) + int(argv[2])
# Hitung suntraction jika opsinya adalah -s atau --sub
elif ikut serta ('-s', '--sub'):
hasil = int(argv[1]) - int(argv[2])
 
print('Hasil = ',hasil)
kecuali getopt.GetoptError:
# Cetak pesan kesalahan jika opsi yang diberikan salah
print('Pilihan yang diberikan salah')
# Hentikan skrip
sistem.keluar (2)

Keluaran:

Jalankan skrip tanpa argumen dan opsi apa pun, argumen dengan opsi '-a', argumen dengan opsi '-s', dan argumen dengan opsi yang salah.

Parsing argumen baris perintah menggunakan modul argparse

Modul Argparse berisi banyak opsi untuk membaca argumen baris perintah. Nilai argumen default, argumen dengan tipe data, argumen posisi, pesan bantuan, dll. dapat disediakan oleh modul ini.

Contoh 5: Membaca argumen baris perintah menggunakan argparse

Contoh berikut menunjukkan penggunaan argparse modul untuk membaca argumen baris perintah. Di sini, dua opsi ditentukan untuk membaca argumen baris perintah. Ini adalah '-n' atau '-nama' dan '-e' atau '-email'. Jika pengguna memberikan argumen yang salah maka itu akan menampilkan kesalahan dengan pesan penggunaan. Jika pengguna memberikan opsi yang benar dengan argumen maka itu akan menampilkan nilai argumen. jika pengguna menjalankan skrip dengan opsi '-help' maka itu akan memberikan pesan yang diperlukan untuk menjalankan skrip.

# Impor modul argparse
impor argparse
# Impor modul sistem
sistem impor
# Deklarasikan fungsi untuk mendefinisikan argumen baris perintah
def readOptions(args=sys.argv[1:]):
pengurai = argparse.ArgumentParser(description="Daftar perintah parsing.")
pengurai.add_argument("-n", "--name", help="Ketik nama Anda.")
pengurai.add_argument("-e", "--email", help="Ketik email Anda your.")
memilih = pengurai.parse_args(args)
pilihan kembali
# Panggil fungsi untuk membaca nilai argumen
opsi = readOptions(sys.argv[1:])
cetak (pilihan.nama)
cetak (pilihan.surel)

Keluaran:

Jalankan skrip dengan opsi yang salah, opsi yang benar, dan opsi bantuan.

Kesimpulan:

Berbagai cara membaca argumen baris perintah dijelaskan dalam tutorial ini dengan menggunakan tiga modul python. Saya harap, tutorial ini akan membantu pembuat kode yang ingin membaca data menggunakan argumen baris perintah dengan python.

Tonton Video Penulis: di sini

Shadow of the Tomb Raider untuk Tutorial Linux
Shadow of the Tomb Raider adalah tambahan kedua belas untuk seri Tomb Raider - waralaba game aksi-petualangan yang dibuat oleh Eidos Montreal. Permain...
Cara Meningkatkan FPS di Linux?
FPS adalah singkatan dari Bingkai per detik. Tugas FPS adalah mengukur kecepatan bingkai dalam pemutaran video atau pertunjukan game. Dengan kata sede...
Game Lab Aplikasi Oculus Teratas
Jika Anda adalah pemilik headset Oculus maka Anda harus tahu tentang sideloading. Sideloading adalah proses menginstal konten non-toko di headset Anda...