運行python腳本時通過命令行方式傳入運行參數(shù)通常有以下兩種自建方式:
下面詳細說一下具體時使用
# test_argv.py import sys args = sys.argv print(f'args = {args}') >>> output ➜ git:(master) python3 test_argv.py args = ['test_argv.py'] ➜ git:(master) ✗ python3 test_argv.py 1 2 3 args = ['test_argv.py', '1', '2', '3'] ➜ git:(master) ✗ python3 test_argv.py 1 2 3 'hello world !' args = ['test_argv.py', '1', '2', '3', 'hello world !']
從上面可以看出,通過argv
方法獲取的結果:
argparse模塊的功能較為豐富,其核心是通過add_argument方法自定義入?yún)⒌模簶酥?、格式、類型和范圍等特性,常用如下?/p>
更多請參考: argparse
test_argv.py
import argparse # 初始化一個parser對象 parser = argparse.ArgumentParser(description='test module of argparse') # 指定-n/--number的參數(shù) # 類型為int # help為簡短地說明 parser.add_argument( '-n', '--number', type=int, help='args of number' ) # 指定-o/--output參數(shù) # 并限制類型為:['txt', 'csv', 'doc'] parser.add_argument( '-o', '--output', type=str, choices=['txt', 'csv', 'doc'], help='output method' ) # 指定-d/--default參數(shù) # 并限制類型為:['txt', 'csv', 'doc'] parser.add_argument( '-d', '--default', type=int, choices=[_ for _ in range(1, 10)], default=5, help='default' ) # 指定位置參數(shù)foo parser.add_argument('foo') args = parser.parse_args() print(f'args = {args}') # 獲取指定參數(shù) print( f'number = {args.number}, type = {type(args.number)}\n' f'output = {args.output}, type = {type(args.output)}\n' f'default = {args.default}, type = {type(args.default)}\n' f'foo = {args.foo}, type = {type(args.foo)}' )
output
# -h - 打印help ➜ git:(master) ✗ python3 test_argv.py -h usage: test_argv.py [-h] [-n NUMBER] [-o {txt,csv,doc}] [-d {1,2,3,4,5,6,7,8,9}] foo test module of argparse positional arguments: foo optional arguments: -h, --help show this help message and exit -n NUMBER, --number NUMBER args of number -o {txt,csv,doc}, --output {txt,csv,doc} output method -d {1,2,3,4,5,6,7,8,9}, --default {1,2,3,4,5,6,7,8,9} default # 不帶參數(shù)運行,結果為None ➜ git:(master) ✗ python3 test_argv.py args = Namespace(number=None, output=None) number = None output = None # 帶參數(shù)運行 ➜ git:(master) ✗ python3 test_argv.py -n 33 --output txt args = Namespace(number=33, output='txt') number = 33, type = class 'int'> output = txt, type = class 'str'> # 參數(shù)格式錯誤 ➜ git:(master) ✗ python3 test_argv.py -n str usage: test_argv.py [-h] [-n NUMBER] [-o {txt,csv,doc}] test_argv.py: error: argument -n/--number: invalid int value: 'str' ➜ git:(master) ✗ python3 test_argv.py -o excel usage: test_argv.py [-h] [-n NUMBER] [-o {txt,csv,doc}] test_argv.py: error: argument -o/--output: invalid choice: 'excel' (choose from 'txt', 'csv', 'doc') # 默認參數(shù) ➜ git:(master) ✗ python3 test_argv.py args = Namespace(default=5, number=None, output=None) number = None, type = class 'NoneType'> output = None, type = class 'NoneType'> output = 5, type = class 'int'>
以上就是Python命令行參數(shù)argv和argparse該如何使用的詳細內(nèi)容,更多關于Python命令行參數(shù)argv和argparse的資料請關注腳本之家其它相關文章!
標簽:合肥 哈爾濱 烏蘭察布 烏蘭察布 海南 大慶 郴州 平頂山
巨人網(wǎng)絡通訊聲明:本文標題《Python命令行參數(shù)argv和argparse該如何使用》,本文關鍵詞 Python,命令行,參數(shù),argv,和,;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。