第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

使用 argparse 庫從 unix 中的命令行收集輸入文件

使用 argparse 庫從 unix 中的命令行收集輸入文件

素胚勾勒不出你 2022-10-06 20:00:16
我正在嘗試編寫一個(gè)腳本,它將一些標(biāo)志和文件作為參數(shù),然后執(zhí)行其他腳本,這取決于用戶選擇的標(biāo)志。例如,命令行應(yīng)如下所示:main_script.py -flag1 -file_for_flag_1 another_file_for_flag_1和main_script.py -flag2 -file_for_flag_2我嘗試使用該argparse庫,但我不知道如何將輸入文件作為后續(xù)步驟的參數(shù)并根據(jù)需要對其進(jìn)行操作。我開始:parser = argparse.ArgumentParser(description="Processing inputs")parser.add_argument(    "-flat_map",    type=str,    nargs="+",    help="generates a flat addressmap from the given files",)parser.add_argument(    "-json_convert",    type=str,    nargs="+",    help="generates a flat addressmap from the given files",)args = parser.parse_args(args=["-flat_map"])print(args)我最后打印出來args看看我能從中得到什么,但我沒有任何可以使用的東西。想得到一些指導(dǎo)。謝謝。
查看完整描述

2 回答

?
MMMHUHU

TA貢獻(xiàn)1834條經(jīng)驗(yàn) 獲得超8個(gè)贊

如果對您更方便,您可以將 args 轉(zhuǎn)換為 dict(其中鍵是 arg 選項(xiàng),值是 arg 值):

args_dict = {key: value for key, value in vars(parser.parse_args()).items() if value}


查看完整回答
反對 回復(fù) 2022-10-06
?
搖曳的薔薇

TA貢獻(xiàn)1793條經(jīng)驗(yàn) 獲得超6個(gè)贊

使用 argparse 您可以使用子命令來選擇子模塊:


import argparse


def run_command(parser, args):

    if args.command == 'command1':

        # add code for command1 here

        print(args)

    elif args.command == 'command2':

        # add code for command2 here

        print(args)


parser = argparse.ArgumentParser(

    prog='PROG', 

    epilog="See '<command> --help' to read about a specific sub-command."

)

subparsers = parser.add_subparsers(dest='command', help='Sub-commands')


A_parser = subparsers.add_parser('command1', help='Command 1')

A_parser.add_argument("--foo")

A_parser.add_argument('--bar')

A_parser.set_defaults(func=run_command)


B_parser = subparsers.add_parser('command2', help='Command 2')

B_parser.add_argument('--bar')

B_parser.add_argument('--baz')

B_parser.set_defaults(func=run_command)


args = parser.parse_args()

if args.command is not None:

    args.func(parser, args)

else:

    parser.print_help()

這會生成一個(gè)幫助頁面,如下所示:


~ python args.py -h

usage: PROG [-h] {command1,command2} ...


positional arguments:

  {command1,command2}  Sub-commands

    command1           Command 1

    command2           Command 2


optional arguments:

  -h, --help           show this help message and exit


See '<command> --help' to read about a specific sub-command.

和help每個(gè)子命令的文本:


~ python args.py B -h

arg.py command2 -h

usage: PROG command2 [-h] [--bar BAR] [--baz BAZ]


optional arguments:

  -h, --help  show this help message and exit

  --bar BAR

  --baz BAZ


查看完整回答
反對 回復(fù) 2022-10-06
  • 2 回答
  • 0 關(guān)注
  • 129 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號