


Petua praktikal untuk menghuraikan parameter baris arahan Python
Petua praktikal untuk penghuraian parameter baris arahan Python
Apabila menulis skrip dalam Python, anda selalunya perlu mendapatkan parameter daripada baris arahan. Modul argparse
terbina dalam Python menyediakan alat yang mudah dan berkuasa untuk penghuraian hujah baris arahan. Artikel ini akan memperkenalkan penggunaan asas argparse
dan memberikan beberapa petua praktikal serta contoh kod. argparse
模块提供了一个简单而强大的实现命令行参数解析的工具。本文将介绍argparse
的基本用法,并提供一些实用的技巧和代码示例。
基本用法
首先,需要导入argparse
模块:
import argparse
然后,可以创建一个argparse.ArgumentParser
对象来解析命令行参数:
parser = argparse.ArgumentParser(description='命令行参数解析示例')
description
参数用于提供一个简短的描述,以便在帮助信息中显示。
接下来,可以向ArgumentParser
对象添加不同的命令行参数。例如,添加一个位置参数:
parser.add_argument('input_file', help='输入文件路径')
这会创建一个名为input_file
的位置参数,用于指定输入文件的路径。
为了提供更多灵活性,可以添加可选参数。例如,添加一个--output
参数,用于指定输出文件的路径:
parser.add_argument('--output', help='输出文件路径')
使用--output
这样的长参数形式,还可以使用简短的单词形式,如-o
。要添加简短形式的参数,可以将-o
添加到参数的dest
参数中:
parser.add_argument('-o', '--output', help='输出文件路径')
然后,可以使用parse_args()
方法解析命令行参数:
args = parser.parse_args()
解析结果将保存在args
对象中。可以通过对象的属性来访问这些值:
print(args.input_file) print(args.output)
对于位置参数,可以使用nargs
参数来指定接受多个值。例如,要接受多个输入文件路径,可以使用nargs='+'
:
parser.add_argument('input_files', nargs='+', help='输入文件路径')
实用技巧
1. 添加默认值
可以为参数提供默认值。例如,要将--output
参数的默认值设置为output.txt
:
parser.add_argument('--output', default='output.txt', help='输出文件路径')
如果没有在命令行指定--output
参数,则将使用默认值。
2. 添加限制
可以为参数添加限制条件。例如,可以使用choices
参数指定某个参数只能接受特定的值:
parser.add_argument('--mode', choices=['A', 'B', 'C'], help='运行模式')
只有当--mode
参数的值为A
、B
或C
时,才会被接受。
3. 添加互斥参数
有时候,需要确保某些参数是互斥的。可以使用add_mutually_exclusive_group()
方法创建一个互斥参数组。例如,要确保--input
和--output
参数只能选择其中一个,可以这样做:
group = parser.add_mutually_exclusive_group() group.add_argument('--input', help='输入文件路径') group.add_argument('--output', help='输出文件路径')
4. 添加子命令
有时候,可能希望为脚本添加多个子命令。可以使用subparsers
来实现这一点。例如,假设希望脚本有一个run
子命令和一个test
子命令,可以这样做:
subparsers = parser.add_subparsers(dest='command') run_parser = subparsers.add_parser('run', help='运行程序') run_parser.add_argument('--input', help='输入文件路径') test_parser = subparsers.add_parser('test', help='测试程序') test_parser.add_argument('--input', help='输入文件路径')
然后,在解析命令行参数后,可以根据args.command
的值来确定使用哪个子命令。
示例代码
下面是一个示例代码,演示了上述提到的技巧和用法:
import argparse def main(args): print('输入文件:', args.input_file) print('输出文件:', args.output) if args.input_files: print('输入文件列表:', args.input_files) if args.mode: print('运行模式:', args.mode) if args.command == 'run': print('运行程序') elif args.command == 'test': print('测试程序') if __name__ == '__main__': parser = argparse.ArgumentParser(description='命令行参数解析示例') parser.add_argument('input_file', help='输入文件路径') parser.add_argument('--output', default='output.txt', help='输出文件路径') parser.add_argument('-o', '--output', help='输出文件路径') parser.add_argument('input_files', nargs='+', help='输入文件路径') parser.add_argument('--mode', choices=['A', 'B', 'C'], help='运行模式') subparsers = parser.add_subparsers(dest='command') run_parser = subparsers.add_parser('run', help='运行程序') run_parser.add_argument('--input', help='输入文件路径') test_parser = subparsers.add_parser('test', help='测试程序') test_parser.add_argument('--input', help='输入文件路径') args = parser.parse_args() main(args)
以上是Petua praktikal untuk menghuraikan parameter baris arahan Python的介绍和示例代码。argparse
提供了一种灵活、强大的方式来解析命令行参数,并可以根据应用的需要进行定制。使用argparse
Penggunaan asas
Mula-mula, anda perlu mengimport modulargparse
: 🎜rrreee🎜Kemudian, anda boleh mencipta objek argparse.ArgumentParser
untuk dihuraikan parameter baris arahan: 🎜rrreee🎜Parameter huraian
digunakan untuk memberikan penerangan ringkas untuk dipaparkan dalam mesej bantuan. 🎜🎜Seterusnya, anda boleh menambah argumen baris perintah yang berbeza pada objek ArgumentParser
. Contohnya, tambahkan parameter kedudukan: 🎜rrreee🎜Ini mencipta parameter kedudukan bernama input_file
yang menentukan laluan ke fail input. 🎜🎜Untuk memberikan lebih fleksibiliti, parameter pilihan boleh ditambah. Sebagai contoh, tambah parameter --output
untuk menentukan laluan ke fail output: 🎜rrreee🎜Gunakan borang parameter panjang seperti --output
atau perkataan pendek Form, seperti sebagai -o
. Untuk menambah bentuk ringkas argumen, anda boleh menambah -o
pada argumen dest
parameter: 🎜rrreee🎜 Kemudian, anda boleh menggunakan parse_args() kod> Kaedah menghuraikan argumen baris arahan: 🎜rrreee🎜Hasil penghuraian akan disimpan dalam objek <code>args
. Nilai ini boleh diakses melalui sifat objek: 🎜rrreee🎜Untuk parameter kedudukan, anda boleh menggunakan parameter nargs
untuk menentukan bahawa berbilang nilai diterima. Contohnya, untuk menerima berbilang laluan fail input, anda boleh menggunakan nargs='+'
: 🎜rrreeePetua Praktikal
1 Tambah nilai lalai
🎜 Ya Sediakan nilai lalai untuk parameter. Contohnya, untuk menetapkan nilai lalai parameter--output
kepada output.txt
: 🎜rrreee🎜Jika --output
tidak dinyatakan pada parameter baris arahan, nilai lalai akan digunakan. 🎜2. Tambahkan sekatan
🎜Anda boleh menambah sekatan pada parameter. Sebagai contoh, anda boleh menggunakan parameterchoices
untuk menentukan bahawa parameter hanya boleh menerima nilai tertentu: 🎜rrreee🎜Hanya apabila nilai parameter --mode
ialah A
, B
atau C
akan diterima. 🎜3. Tambahkan parameter yang saling eksklusif
🎜Kadangkala, anda perlu memastikan bahawa parameter tertentu adalah saling eksklusif. Kumpulan parameter yang saling eksklusif boleh dibuat menggunakan kaedahadd_mually_exclusive_group()
. Sebagai contoh, untuk memastikan bahawa hanya satu daripada parameter --input
dan --output
boleh dipilih, anda boleh melakukan ini: 🎜rrreee4
🎜Kadangkala, anda mungkin mahu menambah berbilang subperintah pada skrip anda. Ini boleh dicapai menggunakansubparser
. Sebagai contoh, katakan anda mahu skrip anda mempunyai subperintah run
dan subperintah test
, anda boleh melakukan ini: 🎜rrreee🎜 Kemudian, selepas menghuraikan parameter baris arahan, anda boleh menggunakan args.command
menentukan subperintah yang hendak digunakan. 🎜Kod sampel
🎜Berikut ialah kod sampel yang menunjukkan teknik dan penggunaan yang dinyatakan di atas: 🎜rrreee🎜Di atas ialah pengenalan dan kod sampel untuk teknik praktikal penghuraian parameter baris arahan Python.argparse
menyediakan cara yang fleksibel dan berkuasa untuk menghuraikan argumen baris arahan dan boleh disesuaikan mengikut keperluan aplikasi. Menggunakan argparse
, anda boleh mengendalikan pelbagai parameter baris perintah yang kompleks dengan mudah dan meningkatkan kebolehskalaan dan kemudahan penggunaan skrip. 🎜Atas ialah kandungan terperinci Petua praktikal untuk menghuraikan parameter baris arahan Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Penyelesaian kepada Isu Kebenaran Semasa Melihat Versi Python di Terminal Linux Apabila anda cuba melihat versi Python di Terminal Linux, masukkan Python ...

Apabila menggunakan Perpustakaan Pandas Python, bagaimana untuk menyalin seluruh lajur antara dua data data dengan struktur yang berbeza adalah masalah biasa. Katakan kita mempunyai dua DAT ...

Artikel ini membincangkan perpustakaan Python yang popular seperti Numpy, Pandas, Matplotlib, Scikit-Learn, Tensorflow, Django, Flask, dan Permintaan, memperincikan kegunaan mereka dalam pengkomputeran saintifik, analisis data, visualisasi, pembelajaran mesin, pembangunan web, dan h

Bagaimanakah Uvicorn terus mendengar permintaan HTTP? Uvicorn adalah pelayan web ringan berdasarkan ASGI. Salah satu fungsi terasnya ialah mendengar permintaan HTTP dan teruskan ...

Di Python, bagaimana untuk membuat objek secara dinamik melalui rentetan dan panggil kaedahnya? Ini adalah keperluan pengaturcaraan yang biasa, terutamanya jika perlu dikonfigurasikan atau dijalankan ...

Bagaimana Mengajar Asas Pengaturcaraan Pemula Komputer Dalam masa 10 jam? Sekiranya anda hanya mempunyai 10 jam untuk mengajar pemula komputer beberapa pengetahuan pengaturcaraan, apa yang akan anda pilih untuk mengajar ...

Fastapi ...

Ekspresi biasa adalah alat yang berkuasa untuk memadankan corak dan manipulasi teks dalam pengaturcaraan, meningkatkan kecekapan dalam pemprosesan teks merentasi pelbagai aplikasi.
