argparse 代码片段只打印部分日志
Posted
技术标签:
【中文标题】argparse 代码片段只打印部分日志【英文标题】:The argparse code snippet only print part log 【发布时间】:2019-10-15 16:46:17 【问题描述】:我有一个测试argparse
模块功能的代码:
import argparse
parser = argparse.ArgumentParser()
parser.description='give me two number, I will return the product'
parser.add_argument("-a","--ParA", help="I am A",type=int)
parser.add_argument("-b","--ParB", help="I am B",type=int)
args = parser.parse_args()
if args.ParA:
print("A is: ",args.ParA)
if args.ParB:
print("B is:",args.ParB)
if args.ParA and args.ParB:
print("the product is: ",args.ParA*args.ParB)
print('over.')
但是当我在我的 PyCharm 中运行它时,只打印over.
【问题讨论】:
好在你提到了 PyCharm。我见过类似的问题,需要大量提问才能找到答案。我想知道 PyCharm 是否有办法捕捉到这种错误,并握住用户的手。它应该能够捕获许多其他类型的错误。 【参考方案1】:PyCharm 在您运行脚本时不会将参数传递给它们。而且您已将两个参数都定义为可选的。
如果你想从 pycharm 运行,你需要编辑你的运行配置来传递参数。
转到test1
(右上角)-> 编辑配置-> 参数(文本框)
并在那里添加您的论点。
-a 3 -b 2
然后保存配置并运行它。
【讨论】:
【参考方案2】:这是因为你运行的python文件没有传递任何参数。
您不应该直接运行它。
您可以像这样在终端中运行它:
$ python3 test11.py -a 1 -b 123
【讨论】:
以上是关于argparse 代码片段只打印部分日志的主要内容,如果未能解决你的问题,请参考以下文章