直接指定 argparse 的参数,而不是通过命令行

文章目录

问题

代码中,常常利用 argparse 来解析程序所需要的参数,采取的方式是命令行,如下面这段程序

import argparse

parser = argparse.ArgumentParser()
parser.add_argument("--file", required=True, help="file to upload")
parser.add_argument("--title", help="title", default="Test Title")
parser.add_argument(
    "--description", help="description", default="Test Description")
args = parser.parse_args()

with open(args.file) as f:
    f = f.readlines()

启动程序的方式为:

python train.py \
	  --file='test.txt' \
	  --title='test' \
	  --description='test file'

但这种方式没有办法直接在编辑器里运行,所以需要能够找到一种直接在程序中输入argparse参数的方法,而不是利用命令行。

解决

在程序调用argparse传入参数之前,对该参数赋值。
那么,程序在调用参数时,并不管它是从命令行里来的,还是从程序里赋值的。

args.file = 'test.txt'

with open(args.file) as f:
    f = f.readlines()

参考:
python argparse - pass values WITHOUT command line

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值