我使用 argparse 来指定多个命令行参数。我将如何运行与 argparse 命令行输入关联的特定函数?
考虑:
py test.py -s google.com
由于输入了参数
-s
,因此应运行与-s
参数关联的特定函数only。
这里是一个非常简单的例子,使用argparse选项来触发特定的功能。
添加
-w
和 -s
作为参数后,您可以测试返回的命名空间对象以查看找到了哪些参数并相应地调用适当的函数。
main.py
import argparse
def sfunc():
print("-s argument was found")
def wfunc():
print("-w argument was found")
if __name__ == "__main__":
parser = argparse.ArgumentParser()
parser.add_argument("-w", action="store_true")
parser.add_argument("-s", action="store_true")
ns = parser.parse_args()
if ns.s:
sfunc()
if ns.w:
wfunc()
这是使用每个参数的结果
/>python main.py -s
-s argument was found
/>python main.py -w
-w argument was found
/>python main.py -w -s
-s argument was found
-w argument was found
还有很多其他方法可以达到同样的效果,这只是一个非常简单的例子。