Menghuraikan argumen baris perintah menggunakan sys modul
Argumen baris perintah disimpan ke dalam senarai menggunakan sys modul. sys.argv 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
mengimport sys
# Cetak jumlah argumen
mencetak('Jumlah hujah:', len(sys.berhujah))
mencetak('Nilai argumen adalah:', hlm(sys.berhujah))
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 importmengimport sys
# Cetak jenis pemboleh ubah, sys.argv
mencetak(menaip(sys.berhujah))
# Cetak setiap argumen baris perintah di setiap baris
mencetak('Argumen baris perintah adalah:')
untukidalam sys.berhujah:
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
Teratas modul digunakan untuk menguraikan argumen baris perintah dengan pilihan. teratas () 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
teratas modul mengandungi lebih banyak ciri daripada sys modul. Contoh berikut menunjukkan bagaimana pilihan pendek boleh digunakan teratas () kaedah. berhujah pemboleh ubah akan menyimpan argumen baris perintah dengan menghilangkan nama skrip. Seterusnya, dua pilihan ditakrifkan dalam teratas () kaedah yang boleh digunakan dengan argumen pada masa run. Sekiranya ada ralat, mesej ralat akan dipaparkan.
# Import modul getoptmengimport teratas
# Modul sys import
mengimport sys
# Pembolehubah argumen kedai menghilangkan nama skrip
berhujah= sys.berhujah[1:]
cuba:
# Tentukan pilihan pendek getopt
pilihan,berhujah= teratas.teratas(berhujah, 'x: y:')
# mencetak pilihan dan hujah
mencetak(pilihan)
mencetak(berhujah)
kecuali teratas.Kesalahan Getopt:
# Cetak mesej ralat jika pilihan yang salah diberikan
mencetak('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 '-kepada' atau '-Tambah' akan digunakan sebagai pilihan dan tolak dua nombor apabila ‘ -s ' atau ‘ –Sub ’ akan digunakan sebagai pilihan pada waktu larian.
# Import modul getoptmengimport teratas
# Modul sys import
mengimport sys
# Pembolehubah argumen kedai menghilangkan nama skrip
berhujah= sys.berhujah[1:]
# Permulaan pemboleh ubah hasil
hasil=0
cuba:
# Tentukan pilihan pendek dan panjang getopt
pilihan,berhujah= teratas.teratas(sys.berhujah[1:], 'a: s', ['tambah =','sub ='])
# Baca setiap pilihan menggunakan loop
untukmemilih,marahdalampilihan:
# Hitung jumlahnya jika pilihannya adalah -a atau - tambah
sekiranyamemilihdalam ('-kepada', '--Tambah'):
hasil= int(berhujah[1])+int(berhujah[2])
# Hitung penolakan jika pilihannya adalah -s atau --sub
elifmemilihdalam ('-s', '--sub'):
hasil= int(berhujah[1])-int(berhujah[2])
mencetak('Hasil =',hasil)
kecuali teratas.Kesalahan Getopt:
# Cetak mesej ralat jika pilihan yang salah diberikan
mencetak('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 importmengimportberhujah
# Modul sys import
mengimport sys
# Menyatakan fungsi untuk menentukan argumen baris perintah
defbaca Pilihan(berhujah=sys.berhujah[1:]):
menghuraikan =berhujah.Pembahas Argument(penerangan='Senarai arahan penghuraian.')
menghuraikan.add_argument('-n', '- nama', menolong='Taipkan nama anda.')
menghuraikan.add_argument('-Dan', '- e-mel', menolong='Taipkan e-mel anda.')
memilih= menghuraikan.parse_args(berhujah)
kembalimemilih
# Panggil fungsi untuk membaca nilai argumen
pilihan=baca Pilihan(sys.berhujah[1:])
mencetak(pilihan.nama)
mencetak(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