使用argparse,如何从同一文件内部发送参数?

问题描述 投票:0回答:1

例如:

def main(i):
    parser = argparse.ArgumentParser()

    ## Required parameters
    parser.add_argument("--data_dir", default='data/text', type=str,
                    help="The input data dir. Should contain the .tsv files (or other data files) for the task.")
    args = parser.parse_args()
    print(args.data_dir) #This outputs the default 'data/text' even though I've specified it to be data/non

if __name__ == "__main__":    
    results = main(['--data_dir', 'data/non'])

我尝试了上面的例子。但是,即使我已将其指定为“数据/非”,它也会输出默认的“数据/文本”。有没有办法让我能够从同一个 python 文件调用 argparse ?最好,我也可以进行不止一个论证。谢谢。

这是Python 3.10

python python-3.x argparse
1个回答
0
投票

parse_args
默认解析
sys.argv[1:]
。如果您想解析其他内容,例如在您的情况下
i
您将需要使用
parse_args
-
 调用 
i

parser.parse_args(i)

(附:我建议使用比

i
更丰富的名称)

© www.soinside.com 2019 - 2024. All rights reserved.