【发布时间】:2016-12-15 16:20:49
【问题描述】:
我翻遍了整个文档,似乎没有办法做到这一点,但是:
有没有办法将 argparse 与任何字符串列表一起使用,而不是仅与 sys.argv 一起使用?
这是我的问题:我有一个看起来像这样的程序:
# This file is program1.py
import argparse
def main(argv):
parser = argparse.ArgumentParser()
# Do some argument parsing
if __name__ == '__main__':
main(sys.argv)
当这个程序直接从命令行调用时,这可以正常工作。但是,我有另一个 python 脚本,它使用不同的命令行参数运行该脚本的批处理版本,我正在使用如下:
import program1
arguments = ['arg1', 'arg2', 'arg3']
program1.main(arguments)
我仍然希望能够解析参数,但 argparse 自动默认使用 sys.argv 而不是我提供的参数。有没有办法传入参数列表而不是使用 sys.argv?
【问题讨论】: