如何将命令行参数传递给 runpy?
即如果我能做到的话
python3 -m foo --arg1=abc
如何在启动流程时将
--arg1=abc
添加为 sys.argv[1]
,例如:
import runpy
runpy.run_module('foo')
请注意,这里存在关于此主题的问题:将命令行参数传递给 runpy,但作者试图做其他事情,但从未得到解答。
使用标准Python库:argrparse
为了举例,我已经静态编码了 runpy 类
from argparse import ArgumentParser as ArgParser
class runpy:
@staticmethod
def run_module(arg):
print(arg)
if __name__ == '__main__':
description = (
'runpy commandline args')
parser = ArgParser(description=description)
parser.add_argument('--arg1', default="foo", type=str,
help='help text')
options = parser.parse_args()
runpy.run_module(options.arg1)