【发布时间】:2016-05-05 13:36:44
【问题描述】:
在 python 2.7 中,我正在尝试:
- 在不显示控制台窗口的情况下使用子进程命令 Ping IP 地址。
- 如果 ping subproccess 命令返回 0 以外的任何值,请提醒用户 ping 失败
- 通过子进程使用 echo 命令提醒用户
步骤 1 和 2 已完成。我在第 3 步遇到问题。如果有比我尝试做的更好的方法来做到这一点,我愿意接受建议。我只是想要一种快速简便的方法来向用户显示简短的警告。
第 3 步的最大问题是控制台窗口出现了,但很快又消失了。理想情况下,我想让窗口保持打开状态,直到收到一些用户反馈,但此时我也会暂停。
这是我所拥有的:
subprocess.call(['echo', 'One or more of the IPs failed to respond to their ping. Check Logs', ' & pause'])
我正在寻找的最终结果是用户在他们的 PC 上处理他们的日常事务,出现一个弹出窗口,告诉他们计划的 ping 尝试未到达其目的地,用户提供反馈以关闭弹出窗口。
【问题讨论】:
-
不相关:您可以使用 GUI 窗口来显示警报,例如
tkMessageBox.showwarning()而不是在新的 Windows 控制台中启动echo命令。 -
我做了一些快速的研究,发现这是一个选项,但我认为只发送一个 echo 命令会既快速又简单,因为我已经学会了如何使用 subprocess 命令。但也许这并不容易!下次我需要窗户时,我得研究一下
-
如果你不知道如何使用
tkMessageBox.showwarning();只是问(作为一个单独的问题)。我会尝试import tkMessageBox; tkMessageBox.showwarning('title', 'text')并确保它不适合你。
标签: python windows command subprocess echo