gpt4 book ai didi

python - 如何使用 argparse 将参数传递给 python 函数?

转载 作者:行者123 更新时间:2023-11-28 17:12:48 28 4
gpt4 key购买 nike

我有一个 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()

最佳答案

您可以修改 main 函数以接收参数列表。

""" foo.py """
import argparse

def main(passed_args=None):
parser = argparse.ArgumentParser(description='test')
parser.add_argument('--all', '-a', action='store_true', help='all')
args = parser.parse_args(passed_args)

if args.all:
pass

if __name__ == '__main__':
main()

""" bar.py """
import sys
import foo

if __name__ == '__main__':
foo.main(["-a"])

关于python - 如何使用 argparse 将参数传递给 python 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46418618/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com