Python

Cara menghuraikan argumen pada baris perintah di Python

Cara menghuraikan argumen pada baris perintah di Python
Argumen baris perintah digunakan untuk menyampaikan data dalam program pada saat pelaksanaan program. Ciri ini tersedia di kebanyakan bahasa pengaturcaraan yang popular. Tetapi pemprosesan argumen baris perintah berbeza untuk bahasa yang berbeza. Nilai argumen diberikan dengan nama program pada masa menjalankan program. Bahasa Python menyokong ciri ini. Bagaimana argumen baris perintah diuraikan dalam skrip Python ditunjukkan dalam artikel ini.

Menghuraikan argumen baris perintah menggunakan sys modul

Argumen baris perintah disimpan ke dalam senarai menggunakan sys modul.  sys.berhujah digunakan untuk membaca nilai-nilai argumen baris perintah. Jumlah argumen baris perintah dapat dihitung dengan menggunakan len () fungsi. Penggunaan modul ini dijelaskan di bahagian artikel.

Contoh 1: Membaca bilangan hujah dan nilai hujah

Buat fail dengan skrip python berikut.  Di sini, nilai argumen baris perintah disimpan dalam pemboleh ubah, berhujah seperti bahasa lain. len () kaedah mengira jumlah argumen yang dilalui pada masa melaksanakan skrip. Nilai argumen dicetak sebagai tatasusunan pada akhir skrip.

# Modul sys import
import sys
# Cetak jumlah argumen
cetak ('Total argumen:', len (sys.argv))
cetak ('Nilai argumen adalah:', str (sys.argv))

Pengeluaran:

Skrip di atas dilaksanakan di sini menggunakan empat argumen baris perintah. Argumen pertama adalah nama skrip dan yang lain adalah nilai berangka. Output berikut akan muncul setelah menjalankan skrip.

Contoh 2: Membaca nilai argumen menggunakan gelung

Dalam contoh sebelumnya, nilai argumen dicetak sebagai tatasusunan. Buat fail dengan skrip berikut untuk mencetak jenis pemboleh ubah argumen dan mencetak setiap nilai argumen di setiap baris dengan menggunakan loop.

# Modul sys import
import sys
# Cetak jenis pemboleh ubah, sys.berhujah
cetak (taip (sys.argv))
# Cetak setiap argumen baris perintah di setiap baris
cetak ('Argumen baris perintah adalah:')
untuk saya di sys.argv:
mencetak (i)

Pengeluaran:

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

Menghuraikan argumen baris perintah menggunakan modul getopt

Getopt modul digunakan untuk menguraikan argumen baris perintah dengan pilihan. getopt () kaedah modul ini digunakan untuk membaca hujah. Kaedah ini mempunyai tiga hujah. Dua argumen pertama adalah wajib dan argumen terakhir adalah pilihan. Penggunaan hujah-hujah ini diberikan di bawah.

berhujah: Ia mengandungi hujah yang diambil dari argumen baris perintah.

pilihan_ pendek: Ini boleh menjadi surat yang disertakan dengan hujah.

pilihan_panjang: Ia digunakan untuk menentukan pilihan panjang dengan dua bahagian. Ini adalah nama opsyen dan nilai opsyen.

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

Contoh 3: Membaca nilai argumen menggunakan pilihan getopt pendek

getopt modul mengandungi lebih banyak ciri daripada sys modul. Contoh berikut menunjukkan bagaimana pilihan pendek boleh digunakan getopt () kaedah. berhujah pemboleh ubah akan menyimpan argumen baris perintah dengan menghilangkan nama skrip. Seterusnya, dua pilihan ditakrifkan dalam getopt () kaedah yang boleh digunakan dengan argumen pada masa run. Sekiranya ada ralat, mesej ralat akan dipaparkan.

# Import modul getopt
import getopt
# Modul sys import
import sys
# Pembolehubah argumen kedai menghilangkan nama skrip
argv = sys.argv [1:]
 
cuba:
# Tentukan pilihan pendek getopt
pilihan, args = getopt.getopt (argv, 'x: y:')
# mencetak pilihan dan hujah
cetak (pilihan)
cetak (argumen)
 
kecuali getopt.Kesalahan Getopt:
# Cetak mesej ralat jika pilihan yang salah diberikan
cetak ('Pilihan yang salah disediakan')
# Tamatkan skrip
sys.jalan keluar (2)

Pengeluaran:

Jalankan skrip tanpa argumen, argumen dengan pilihan yang betul dan argumen dengan pilihan yang salah.

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

Contoh ini menunjukkan bagaimana pilihan pendek dan panjang dapat digunakan dengan nilai argumen. Ia akan menambah dua nombor bila '-a' atau '-Tambah' akan digunakan sebagai pilihan dan tolak dua nombor apabila '-s ' atau '-sub ' akan digunakan sebagai pilihan pada waktu larian.

# Import modul getopt
import getopt
# Modul sys import
import sys
# Pembolehubah argumen kedai menghilangkan nama skrip
argv = sys.argv [1:]
# Permulaan pemboleh ubah hasil
hasil = 0
 
cuba:
 
# Tentukan pilihan pendek dan panjang getopt
pilihan, args = getopt.getopt (sys.argv [1:], 'a: s', ['add =', 'sub ='])
 
# Baca setiap pilihan menggunakan gelung
untuk opt, arg dalam pilihan:
# Hitung jumlahnya jika pilihannya adalah -a atau - tambah
jika ikut serta ('-a', '--add'):
hasil = int (argv [1]) + int (argv [2])
# Hitung penolakan sinar matahari jika pilihannya adalah -s atau --sub
elif ikut serta ('-s', '--sub'):
hasil = int (argv [1]) - int (argv [2])
 
cetak ('Hasil =', hasil)
kecuali getopt.Kesalahan Getopt:
# Cetak mesej ralat jika pilihan yang salah diberikan
cetak ('Pilihan yang salah disediakan')
# Tamatkan skrip
sys.jalan keluar (2)

Pengeluaran:

Jalankan skrip tanpa argumen dan pilihan, argumen dengan pilihan '-a', argumen dengan pilihan '-s' dan argumen dengan pilihan yang salah.

Menghuraikan argumen baris perintah menggunakan modul argparse

Modul Argparse mengandungi banyak pilihan untuk membaca argumen baris perintah. Nilai argumen lalai, argumen dengan jenis data, argumen kedudukan, mesej bantuan, dll. boleh disediakan oleh modul ini.

Contoh 5: Membaca hujah baris perintah menggunakan argparse

Contoh berikut menunjukkan penggunaan berhujah modul untuk membaca hujah baris perintah. Di sini, dua pilihan ditentukan untuk membaca argumen baris perintah. Ini adalah '-n' atau '-nama' dan '-e' atau '-email'. Sekiranya pengguna memberikan argumen yang salah maka ia akan menunjukkan kesalahan dengan mesej penggunaan. Sekiranya pengguna memberikan pilihan yang betul dengan argumen maka ia akan memaparkan nilai argumen. jika pengguna menjalankan skrip dengan pilihan '-help' maka ia akan memberikan mesej yang diperlukan untuk menjalankan skrip tersebut.

# Modul argparse import
import argparse
# Modul sys import
import sys
# Menyatakan fungsi untuk menentukan argumen baris perintah
def readOptions (args = sys.argv [1:]):
penghurai = argparse.ArgumentParser (keterangan = "Senarai arahan penguraian.")
menghuraikan.add_argument ("- n", "--name", help = "Taipkan nama anda.")
menghuraikan.add_argument ("- e", "--email", help = "Taipkan e-mel anda.")
memilih = penghurai.parse_args (args)
pilihan kembali
# Panggil fungsi untuk membaca nilai argumen
pilihan = readOptions (sys.argv [1:])
cetak (pilihan.nama)
cetak (pilihan.e-mel)

Pengeluaran:

Jalankan skrip dengan pilihan yang salah, pilihan yang betul dan pilihan bantuan.

Kesimpulan:

Pelbagai cara membaca argumen baris perintah dijelaskan dalam tutorial ini dengan menggunakan tiga modul python. Saya harap, tutorial ini dapat membantu pengekod yang ingin membaca data menggunakan argumen baris perintah di python.

Tonton Video Pengarang: di sini

Shadow of the Tomb Raider untuk Tutorial Linux
Shadow of the Tomb Raider adalah penambahan kedua belas untuk siri Tomb Raider - francais permainan aksi-pengembaraan yang dibuat oleh Eidos Montreal....
Cara Meningkatkan FPS di Linux?
FPS bermaksud Bingkai sesaat. Tugas FPS adalah mengukur kadar bingkai dalam pemutaran video atau persembahan permainan. Dengan kata mudah bilangan gam...
Permainan Makmal Apl Oculus Teratas
Sekiranya anda adalah pemilik alat dengar Oculus, maka anda mesti mengetahui tentang memuatkan sideload. Sideloading adalah proses memasang kandungan ...