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 代码片段只打印部分日志的主要内容,如果未能解决你的问题,请参考以下文章

python常用代码片段总结

webstorm代码片段的创建

常用python日期日志获取内容循环的代码片段

处理 argparse 冲突

片段布局不覆盖整个屏幕

部分代码片段