日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

Python命令行參數(shù)解析的實(shí)用技巧

在使用Python編寫腳本時(shí),經(jīng)常需要從命令行獲取參數(shù)。Python內(nèi)置的argparse模塊提供了一個(gè)簡單而強(qiáng)大的實(shí)現(xiàn)命令行參數(shù)解析的工具。本文將介紹argparse的基本用法,并提供一些實(shí)用的技巧和代碼示例。

基本用法

首先,需要導(dǎo)入argparse模塊:

import argparse

登錄后復(fù)制

然后,可以創(chuàng)建一個(gè)argparse.ArgumentParser對象來解析命令行參數(shù):

parser = argparse.ArgumentParser(description='命令行參數(shù)解析示例')

登錄后復(fù)制

description參數(shù)用于提供一個(gè)簡短的描述,以便在幫助信息中顯示。

接下來,可以向ArgumentParser對象添加不同的命令行參數(shù)。例如,添加一個(gè)位置參數(shù):

parser.add_argument('input_file', help='輸入文件路徑')

登錄后復(fù)制

這會創(chuàng)建一個(gè)名為input_file的位置參數(shù),用于指定輸入文件的路徑。

為了提供更多靈活性,可以添加可選參數(shù)。例如,添加一個(gè)--output參數(shù),用于指定輸出文件的路徑:

parser.add_argument('--output', help='輸出文件路徑')

登錄后復(fù)制

使用--output這樣的長參數(shù)形式,還可以使用簡短的單詞形式,如-o。要添加簡短形式的參數(shù),可以將-o添加到參數(shù)的dest參數(shù)中:

parser.add_argument('-o', '--output', help='輸出文件路徑')

登錄后復(fù)制

然后,可以使用parse_args()方法解析命令行參數(shù):

args = parser.parse_args()

登錄后復(fù)制

解析結(jié)果將保存在args對象中。可以通過對象的屬性來訪問這些值:

print(args.input_file)
print(args.output)

登錄后復(fù)制

對于位置參數(shù),可以使用nargs參數(shù)來指定接受多個(gè)值。例如,要接受多個(gè)輸入文件路徑,可以使用nargs='+'

parser.add_argument('input_files', nargs='+', help='輸入文件路徑')

登錄后復(fù)制

實(shí)用技巧

1. 添加默認(rèn)值

可以為參數(shù)提供默認(rèn)值。例如,要將--output參數(shù)的默認(rèn)值設(shè)置為output.txt

parser.add_argument('--output', default='output.txt', help='輸出文件路徑')

登錄后復(fù)制

如果沒有在命令行指定--output參數(shù),則將使用默認(rèn)值。

2. 添加限制

可以為參數(shù)添加限制條件。例如,可以使用choices參數(shù)指定某個(gè)參數(shù)只能接受特定的值:

parser.add_argument('--mode', choices=['A', 'B', 'C'], help='運(yùn)行模式')

登錄后復(fù)制

只有當(dāng)--mode參數(shù)的值為ABC時(shí),才會被接受。

3. 添加互斥參數(shù)

有時(shí)候,需要確保某些參數(shù)是互斥的。可以使用add_mutually_exclusive_group()方法創(chuàng)建一個(gè)互斥參數(shù)組。例如,要確保--input--output參數(shù)只能選擇其中一個(gè),可以這樣做:

group = parser.add_mutually_exclusive_group()
group.add_argument('--input', help='輸入文件路徑')
group.add_argument('--output', help='輸出文件路徑')

登錄后復(fù)制

4. 添加子命令

有時(shí)候,可能希望為腳本添加多個(gè)子命令。可以使用subparsers來實(shí)現(xiàn)這一點(diǎn)。例如,假設(shè)希望腳本有一個(gè)run子命令和一個(gè)test子命令,可以這樣做:

subparsers = parser.add_subparsers(dest='command')

run_parser = subparsers.add_parser('run', help='運(yùn)行程序')
run_parser.add_argument('--input', help='輸入文件路徑')

test_parser = subparsers.add_parser('test', help='測試程序')
test_parser.add_argument('--input', help='輸入文件路徑')

登錄后復(fù)制

然后,在解析命令行參數(shù)后,可以根據(jù)args.command的值來確定使用哪個(gè)子命令。

示例代碼

下面是一個(gè)示例代碼,演示了上述提到的技巧和用法:

import argparse

def main(args):
    print('輸入文件:', args.input_file)
    print('輸出文件:', args.output)

    if args.input_files:
        print('輸入文件列表:', args.input_files)

    if args.mode:
        print('運(yùn)行模式:', args.mode)

    if args.command == 'run':
        print('運(yùn)行程序')
    elif args.command == 'test':
        print('測試程序')

if __name__ == '__main__':
    parser = argparse.ArgumentParser(description='命令行參數(shù)解析示例')

    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='運(yùn)行模式')

    subparsers = parser.add_subparsers(dest='command')

    run_parser = subparsers.add_parser('run', help='運(yùn)行程序')
    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)

登錄后復(fù)制

以上是Python命令行參數(shù)解析的實(shí)用技巧的介紹和示例代碼。argparse提供了一種靈活、強(qiáng)大的方式來解析命令行參數(shù),并可以根據(jù)應(yīng)用的需要進(jìn)行定制。使用argparse,可以輕松地處理各種復(fù)雜的命令行參數(shù),并提高腳本的可擴(kuò)展性和易用性。

分享到:
標(biāo)簽:命令行參數(shù)解析 命令行解析器
用戶無頭像

網(wǎng)友整理

注冊時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定