Python 子进程命令 运行 回显并保持 window 打开
Python subprocess command to run echo and leave the window open
在 python 2.7 中,我正在尝试:
- 使用子进程命令 Ping IP 地址而不显示控制台 window。
- 如果 ping 子进程命令 returns 不是 0,则警告用户 ping 失败
- 通过子进程使用 echo 命令提醒用户
第 1 步和第 2 步已完成。我在执行第 3 步时遇到问题。如果有比我尝试做的更好的方法来执行此操作,我愿意接受建议。我只是想要一种快速简便的方法来向用户显示简短警告。
第 3 步的大问题是控制台 window 出现,但很快消失。理想情况下,我想让 window 保持打开状态,直到收到一些用户反馈,但此时我也会暂停。
这是我的资料:
subprocess.call(['echo', 'One or more of the IPs failed to respond to their ping. Check Logs', ' & pause'])
我正在寻找的最终结果是用户正在他们的 PC 上处理他们的日常业务,出现一个弹出窗口,告诉他们计划的 ping 尝试没有到达目的地,用户提供反馈以关闭弹出窗口.
在 windows 环境中:
def cmdMessage(message):
subprocess.call('cmd /K "echo ' + message + '"')
cmdMessage('One or more of the IPs failed to respond to their ping. Check Logs')
subprocess.call(['echo', 'One or more of the IPs failed to respond to their ping. Check Logs', ' & pause'])
& pause
部分不会起作用,因为这是您的 shell(无论是 Bash、Tcsh 还是什么)正在解释的内容。这实际上会将“& pause”作为第二个参数发送给 echo
命令。
出于好奇,您为什么不直接在 Python 中打印您的反馈?
print "One or more of the IPs failed to respond to their ping. Check logs."
如果要暂停,可以使用 time
模块中的 time.sleep
。如果你想等待使用输入,你可以用 raw_input:
print "One or more of the IPs failed to respond to their ping. Check logs. Hit enter to continue."
raw_input()
在 python 2.7 中,我正在尝试:
- 使用子进程命令 Ping IP 地址而不显示控制台 window。
- 如果 ping 子进程命令 returns 不是 0,则警告用户 ping 失败
- 通过子进程使用 echo 命令提醒用户
第 1 步和第 2 步已完成。我在执行第 3 步时遇到问题。如果有比我尝试做的更好的方法来执行此操作,我愿意接受建议。我只是想要一种快速简便的方法来向用户显示简短警告。
第 3 步的大问题是控制台 window 出现,但很快消失。理想情况下,我想让 window 保持打开状态,直到收到一些用户反馈,但此时我也会暂停。
这是我的资料:
subprocess.call(['echo', 'One or more of the IPs failed to respond to their ping. Check Logs', ' & pause'])
我正在寻找的最终结果是用户正在他们的 PC 上处理他们的日常业务,出现一个弹出窗口,告诉他们计划的 ping 尝试没有到达目的地,用户提供反馈以关闭弹出窗口.
在 windows 环境中:
def cmdMessage(message):
subprocess.call('cmd /K "echo ' + message + '"')
cmdMessage('One or more of the IPs failed to respond to their ping. Check Logs')
subprocess.call(['echo', 'One or more of the IPs failed to respond to their ping. Check Logs', ' & pause'])
& pause
部分不会起作用,因为这是您的 shell(无论是 Bash、Tcsh 还是什么)正在解释的内容。这实际上会将“& pause”作为第二个参数发送给 echo
命令。
出于好奇,您为什么不直接在 Python 中打印您的反馈?
print "One or more of the IPs failed to respond to their ping. Check logs."
如果要暂停,可以使用 time
模块中的 time.sleep
。如果你想等待使用输入,你可以用 raw_input:
print "One or more of the IPs failed to respond to their ping. Check logs. Hit enter to continue."
raw_input()