python - 我正在尝试像 cmd 中的那样制作一个 ip pinger,但它不会工作
问题描述
import os
from playsound import playsound
from tkinter import *
root = Tk()
root.geometry('700x650')
c = Canvas(root, height=645, width=695, bg="orange")
s = c.create_rectangle(5, 5, 693, 200, fill="green")
def update():
with open("C:\\Users\Wasif\Desktop\ipaddresses.txt") as file:
dump = file.read()
dump = dump.splitlines()
for i in dump:
ip = i.split()[1]
host = i.split()[0]
res = os.popen(f"ping {ip} -n 2").read()
print(res)
if "Request timed out" in res:
playsound("C:\\Users\Wasif\Desktop\Alarm.mp3")
x = res
t = c.create_text(286, 100, fill="black", font="Times 20 italic bold", text=x)
root.after(1000, update) # run itself again after 1000 ms
c.pack()
update()
root.mainloop()
我希望它在丢包时发出警报并在屏幕上显示 ping,但它不会让步。完成此工作后,我将添加一个延迟检查器,我的问题出在画布上。有没有办法让它成为一个只有警报的exe,或者我必须用画布来做它。
解决方案
推荐阅读
- javascript - 理解不同的嵌套函数调用
- django - Django DRF:如何将两个不同的字段组合在一起
- flutter - 如何在 Flutter 中处理 InputDecoration->labelText 中的长文本
- ios - IOS PushNotification 多用户应用
- python - 与内存中的 sqlite3 并行运行 django 测试
- c++ - 将 customobject 作为参数从目标 C 传递给 c++
- android - Android Studio videoview 透明?
- sql - 在 WHERE 谓词解决方法中配置多个子查询
- javascript - 如何在jquery中使用keydown事件而不影响所有键?
- html - 打字稿获取 JSON 对象