问题
代码中,常常利用 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()