我有一个将命令行参数带入 aparser
并修改一些配置设置的代码。像这样的东西:
命令:
python mycode.py --config-file "some_file.yaml" SOMETHING.subsetting_a 2 SOMETHING.subsetting_b 3
然后它会:
import argparse
parser = argparse.ArgumentParser(description="Some description here")
parser.add_argument(
"--config-file",
default="",
metavar="FILE",
help="path to config file",
type=str,
)
//some more 'add_argument' lines here
args = parser.parse_args()
但是当我使用 jupyter notebook 时,将参数直接提供给解析器会更容易,就好像它们来自命令行一样。如何创建包含命令的字符串(如上所述)并将其传递给parser
?
parse_args
的第一个可选参数是 parse 的参数列表,签名是:
ArgumentParser.parse_args(args=None, namespace=None)
它只是需要args
从sys.argv
,如果你不提供。
所以只需将其称为:
args = parser.parse_args(['mycode.py', '--config-file', "some_file.yaml", 'SOMETHING.subsetting_a', '2', 'SOMETHING.subsetting_a'])
(list
包含您喜欢的任何内容),它将使用它而不是sys.argv
.
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句