将命令行参数传递给 runpy

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

如何将命令行参数传递给 runpy?

即如果我能做到的话

python3 -m foo --arg1=abc

如何在启动流程时将

--arg1=abc
添加为
sys.argv[1]
,例如:

import runpy
runpy.run_module('foo')

请注意,这里存在关于此主题的问题:将命令行参数传递给 runpy,但作者试图做其他事情,但从未得到解答。

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

使用标准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)
© www.soinside.com 2019 - 2024. All rights reserved.