1.利用tkinter制作界面操控和显示,界面有输入框和PING按钮,可视化操作。
2.输入IP地址后,点击ping按钮,实现与电脑相同的ping操作。
3.代码展示
import subprocess
import tkinter as tk
from tkinter import messagebox
import os
def ping_host(host):
"""执行ping命令并返回结果"""
try:
# Windows系统使用'ping'命令,Linux/macOS系统使用'ping -c 4'(执行4次ping)
if os.name == 'nt': # Windows系统
command = ['ping', host]
else: # Linux/macOS系统
command = ['ping', '-c', '4', host]
result = subprocess.run(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)
output = result.stdout
if result.returncode == 0:
return f"Ping to {host} successful.\n{output}"
else:
return f"Ping to {host} failed.\n{output}"
except Exception as e:
return f"An error occurred: {e}"
def on_ping_button_click():
host = host_entry.get()
if not host:
messagebox.showerror("错误!", "请输入主机名或IP地址.")
return
result = ping_host(host)
result_label.config(text=result)
# 创建主窗口
root = tk.Tk()
root.title("Ping 工具")
# 获取屏幕的宽度和高度
screen_width = root.winfo_screenwidth()
screen_height = root.winfo_screenheight()
# 计算窗口的初始位置,使其位于屏幕中央
window_width = 400
window_height = 300
x_offset = (screen_width - window_width) // 2
y_offset = (screen_height - window_height) // 2
# 设置窗口的初始位置和大小
root.geometry(f"{window_width}x{window_height}+{x_offset}+{y_offset}")
# 创建标签和输入框
host_label = tk.Label(root, text="请输入IP地址:")
host_label.pack()
host_entry = tk.Entry(root)
host_entry.pack()
# 创建ping按钮
ping_button = tk.Button(root, text="Ping", command=on_ping_button_click)
ping_button.pack()
# 创建结果标签
result_label = tk.Label(root, text="")
result_label.pack()
# 运行主循环
root.mainloop()
4.由此借鉴可以开发多个设备ping的操作,开发工业互联中多个设备的网络自检小程序。