如果用户不知道 c 并且 a = 3 和 b = 2 我想这样调用程序:
$ python my_program 3 2
如果用户知道 c 并且 c = 9 我想这样调用程序:
$ python my_program -c 6
由于由 表示的计算c = results.a + results.b
大约需要 30 分钟才能完成,如果 c 已知,我希望能够跳过它。
这可能吗?我在下面有两个不同的代码示例,但这并不是我想要的。
代码示例 1
import argparse
def my_function():
if results.c == 0:
c = results.a + results.b
d = c + 5
else:
d = results.c + 5
if __name__=='__main__':
parser = argparse.ArgumentParser()
parser.add_argument('a', action="store", type=int)
parser.add_argument('b', action="store", type=int)
parser.add_argument('-c', action="store", default=0, type=int)
results = parser.parse_args()
my_function()
我的代码示例 1 所需的调用是:
$ python my_program 3 2
或者
$ python my_program 3 2 -c 6
代码示例 2
import argparse
def my_function():
if results.c == 0:
c = results.a + results.b
d = c + 5
else:
d = results.c + 5
if __name__=='__main__':
parser = argparse.ArgumentParser()
parser.add_argument('-a', action="store", default=0, type=int)
parser.add_argument('-b', action="store", default=0, type=int)
parser.add_argument('-c', action="store", default=0, type=int)
results = parser.parse_args()
my_function()
我的代码示例 2 所需的调用是:
$ python my_program -a 3 -b 2
或者
$ python my_program -c 6
感谢您的任何帮助。祝你有美好的一天。