假设我有一个可以接受args的python脚本
# testt.py
import argparse
def main(args):
print(args.foo)
print(args.bar)
print(args.nee)
if __name__ == "__main__":
parser = argparse.ArgumentParser(description='Test argument parser')
parser.add_argument('-foo', type=str)
parser.add_argument('-bar', type=int)
parser.add_argument('-nee', type=bool)
args = parser.parse_args()
main(args)
但是我不想从命令行运行它,而是想从另一个Python程序运行它
import testt
如何传入arg参数
您可以为参数编写一个类:
您可以更改testt.py中的main()函数来进行解析:
然后将sys.argv[1:]传递给testt.main(),从任何程序导入testt:
一个优点是,当/如果更改要支持的命令行参数时,不再需要维护单独的类
这主要来自:How to use python argparse with args other than sys.argv?
相关问题 更多 >
编程相关推荐