【发布时间】:2018-03-07 05:09:20
【问题描述】:
我有一个 foo.py 使用 argparse 来获取 main() 函数的命令行参数。
""" foo.py """
import argparse
def main():
parser = argparse.ArgumentParser(description='test')
parser.add_argument('--all', '-a', action='store_true', help='all')
args = parser.parse_args()
if args.all:
pass
if __name__ == '__main__':
main()
我必须在另一个 Python 脚本 bar.py 上测试这个 main() 函数。我的问题是如何在 bar.py 中传递参数。我当前的解决方案是更改 sys.argv。寻找更好的解决方案。
""" bar.py """
import sys
import foo
if __name__ == '__main__':
sys.argv.append('-a')
foo.main()
【问题讨论】:
-
您是否试图将参数从
foo.py获取到bar.py?为什么不直接将parser移动到bar.py? -
@Jalepeno112 因为 foo.py 可能是一个单独的模块。
标签: python parameter-passing argparse