【发布时间】:2020-11-12 05:58:57
【问题描述】:
我想重复代码块直到成功输出,但只想显示成功的消息。
while i < 6:
try:
sys.tracebacklimit = 0 #this line seems not work
gluster_volume_names = []
gstatus_output = subprocess.check_output('gstatus -a -o json ', shell=True).decode()
date, time, json_part = gstatus_output.split(maxsplit=2)
gluster_info = json.loads(json_part)
volume_list = gluster_info["volume_summary"]
....
....
break
except:
i += 1
continue
但我不知道如何在下面抑制这些输出。 (跑不成功)他们不是我想要的结果。该代码块在尝试不到 5 次后最终成功运行然后退出。
Traceback (most recent call last):
File "/usr/local/lib/python3.6/site-packages/gstatus-0.66-py3.6.egg/EGG-INFO/scripts/gstatus", line 143, in main
File "/usr/local/lib/python3.6/site-packages/gstatus-0.66-py3.6.egg/gstatus/libgluster/cluster.py", line 543, in update_state
gstatus.libutils.excepts.GlusterFailedVolume: Unable to query volume 'BLAH'
Possible cause: cluster is currently reconverging after a nodehas entered a disconnected state.
Response: Rerun gstatus or issue a peer status command to confirm
请帮忙!
【问题讨论】:
-
这个脚本是由另一个应用程序用硬编码行启动的。我不能使用 2>/dev/null。叹息...但是感谢@Cowboy_Patrick 的快速响应
标签: python python-3.x