如何在ArgParse中显示命令行参数执行后如何显示消息
我有以下示例脚本,该脚本使用argparse
import os
import numpy
import argparse
def main():
parser = argparse.ArgumentParser()
parser.add_argument('-C','--code',type=str, help='Choose solver')
args = parser.parse_args()
if args.code == 'compo1':
print('This is solver version1')
elif args.code == 'compo2':
print('This is solver version2')
if __name__=='__main__':
main()
在命令行中调用时,
python3 main.py -code compo1
我会按预期获取输出:
This is solver version1
我想要的是每次执行后的通用消息,例如,
This is solver version1
INFO [solver compo1.py] completed success
我知道使用另一个print
可以解决这个问题,但是可以在parse.add_arguments
或任何其他方法中以默认为单位吗?这样,每当用户调用标志时,执行后会显示消息?
I have following example script that uses argparse
import os
import numpy
import argparse
def main():
parser = argparse.ArgumentParser()
parser.add_argument('-C','--code',type=str, help='Choose solver')
args = parser.parse_args()
if args.code == 'compo1':
print('This is solver version1')
elif args.code == 'compo2':
print('This is solver version2')
if __name__=='__main__':
main()
When I call in the command line
python3 main.py -code compo1
I get the output as expected:
This is solver version1
What I would like is a generic message after every execution, eg,
This is solver version1
INFO [solver compo1.py] completed success
I know that using another print
would solve that, but can it be given as a default in parse.add_arguments
or any other way ? such that whenever a flag is called by the user a message is displayed after execution ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用记录器打印来进行日志给定参数:
请参见 log grou在python 。
从Command-line argparse-logging 。
You can use the logger instead print to log given arguments:
See Log the values of argparse in python.
Not related but useful to set the log-level from command-line argparse-logging.