当前位置: 首页 > news >正文

wordpress+4.5+多站点江西建设厅特殊工种的网站

wordpress+4.5+多站点,江西建设厅特殊工种的网站,重庆佳天下装饰公司电话,做企业网站能赚钱吗?工作中调试设备需要经常修改电脑IP,非常麻烦,这里使用Pythontkinter做了一个IP修改工具 说明: 1.启动程序读取config.json文件2.如果没有该文件则创建,写入当前网卡信息3.通过配置信息进行网卡状态修改4.更新文件状态,删除或修…

工作中调试设备需要经常修改电脑IP,非常麻烦,这里使用Python+tkinter做了一个IP修改工具
在这里插入图片描述

说明:

  • 1.启动程序读取config.json文件
  • 2.如果没有该文件则创建,写入当前网卡信息
  • 3.通过配置信息进行网卡状态修改
  • 4.更新文件状态,删除或修改当前config.json即可

打包指令

pyinstaller -F -w --uac-admin -i .\img\network_web_icon.ico -n IPTool .\setip_ui.py

项目 Github地址

项目代码

# -*- coding: utf-8 -*-
import tkinter as tk
from tkinter import messagebox
from tkinter import ttk
import subprocess
import re
import os
import jsonclass NetAdapter:def __init__(self, lines):self.EnableDHCP = '是' in lines[0]self.IPAddr = lines[1].split(':')[1].strip()input_string = lines[2]pattern = r'掩码 (\d+\.\d+\.\d+\.\d+)'match = re.search(pattern, input_string)self.Mask = match.group(1)# 接口 "net1" 的配置# DHCP 已启用:                          是# IP 地址:                           192.168.1.3# 子网前缀:                        192.168.1.0/24 (掩码 255.255.255.0)# 默认网关:                         192.168.1.1# 网关跃点数:                       0# InterfaceMetric:                      35def EnableDHCPStr(self):return '动态IP' if self.EnableDHCP else '静态IP'class SetIPUI:def __init__(self, root):root.title("网卡设置工具")self.setmid(root)tk.Label(root, text="网卡类型").grid(row=0, padx='2px', pady='3px')self.configDic = self.initConfig()self.cmb = ttk.Combobox(root)self.cmb.grid(row=0, column=1, columnspan=1, padx='2px', pady='3px')self.cmb['values'] = list(self.configDic.keys())self.cmb.bind("<<ComboboxSelected>>", self.getAdapterInfo)rowIndex = 1self.entry_vars = []for title in ['类型', 'ip', '子网掩码']:tk.Label(root, text=title).grid(row=rowIndex, column=0, padx='2px', pady='3px')entry_var = tk.StringVar()entry = tk.Entry(root, textvariable=entry_var)entry.grid(row=rowIndex, column=1, padx='2px', pady='3px')self.entry_vars.append(entry_var)rowIndex += 1tk.Button(root, text="动态ip", width=10, command=self.setDynamicIp).grid(row=rowIndex, column=0, columnspan=1,sticky="w", padx=10, pady=5)tk.Button(root, text="静态ip", width=10, command=self.setStaticIp).grid(row=rowIndex, column=1, columnspan=1,sticky="e", padx=10, pady=5)text=tk.Text(root,height=20,width=40)text.grid(row=0,column=2,rowspan=rowIndex+1,columnspan=3,sticky="e", padx=10, pady=5)self.setExplain(text)def setExplain(self,text:tk.Text):context="说明:\n" \"1.启动程序读取config.json文件\n" \"2.如果没有该文件则创建,写入当前网卡信息\n" \"3.通过配置信息进行网卡状态修改\n" \"4.更新文件状态,删除或修改当前config.json即可"text.insert('1.0',context)def setmid(self,root):window_width = 580window_height = 280screen_width = root.winfo_screenwidth()screen_height = root.winfo_screenheight()x = (screen_width - window_width) // 2y = (screen_height - window_height) // 2root.geometry(f"{window_width}x{window_height}+{x}+{y}")def initConfig(self) -> dict:fn = 'config.json'if not os.path.exists(fn):self.createConfig()with open(fn, "r",encoding='utf-8') as json_file:data = json.load(json_file)return datadef createConfig(self):names = self.getAllNames()data = {}for name in names:myAda = self.getAdapterInfoImpl(name)if myAda is None:continuedata[name] = {'dhcp': myAda.EnableDHCP, 'ip': myAda.IPAddr, 'mask': myAda.Mask}# 写回JSON文件fn = 'config.json'with open(fn, "w",encoding='utf-8') as json_file:json.dump(data, json_file, indent=4,ensure_ascii=False)def getAllNames(self):command = "netsh interface show interface"output = subprocess.check_output(command, shell=True, text=True)adapters = []lines = output.splitlines()lines = [l for l in lines if "连接" in l]for line in lines:  # 从第四行开始解析parts = line.split('   ')if len(parts) > 1:adapter_name = parts[-1]adapters.append(adapter_name)print(adapter_name)return adaptersdef getAdapterInfo(self, event):key=self.cmb.get()adapter = self.configDic[key]dhcp=self.getAdapterInfoImpl(key).EnableDHCPStr()if adapter is None:messagebox.showerror("错误", f"{self.cmb.get()}未连接或未启用")returnself.entry_vars[0].set(dhcp)self.entry_vars[1].set(adapter['ip'])self.entry_vars[2].set(adapter['mask'])def getAdapterInfoImpl(self, adapter):command = f"netsh interface ip show address \"{adapter}\""output = subprocess.check_output(command, shell=True, text=True)# 解析输出以获取 IP 地址状态lines = output.splitlines()if (len(lines) <= 5):returnmyAda = NetAdapter(lines[2:])return myAdadef setDynamicIp(self):adapter = self.cmb.get()  # 网卡名称# 使用netsh设置为动态IP地址(DHCP)try:ipCmd = f"netsh interface ipv4 set address name=\"{adapter}\" source=dhcp"subprocess.run(ipCmd, shell=True, check=True, encoding='utf-8')subprocess.run(f"netsh interface ipv4 set dns name=\"{adapter}\" source=dhcp", shell=True, check=True,encoding='utf-8')messagebox.showinfo("完成", "已设置为动态IP地址(DHCP)")except subprocess.CalledProcessError as err:messagebox.showerror("错误", err.output)def setStaticIp(self):interface_name = self.cmb.get()  # 网卡名称# 请根据你的网络配置进行适当的替换ip_address = self.entry_vars[1].get()subnet_mask = self.entry_vars[2].get()try:command = f"netsh interface ipv4 set address name=\"{interface_name}\" static {ip_address} {subnet_mask}"# 使用netsh设置静态IP地址subprocess.run(command, shell=True, check=True)messagebox.showinfo("完成", "已设置为静态IP地址")except subprocess.CalledProcessError as err:messagebox.showerror("错误", err.output)if __name__ == '__main__':# pyinstaller -F -w --uac-admin -i .\img\network_web_icon.ico -n IPTool .\setip_ui.pyroot = tk.Tk()myUI = SetIPUI(root)root.mainloop()
http://www.yayakq.cn/news/432361/

相关文章:

  • 自己做淘宝客网站免费手机网站自助建站
  • 网站优化软件开发wordpress绑定网站
  • 广州网站建设菲利宾深圳市市场监督管理局
  • 企业建设网站好吗黄埔网站建设价格
  • 织梦网站上传保存文档做网站的平台
  • 上海外贸营销网站建设地址装修网平台
  • 做网站需要关注哪些pc端网站未来
  • 西安做一个企业网站要多少钱建设搜索引擎友好的网站
  • 展示型网站建设公司网站开发的技术意义
  • 网站开发各年的前景建站系统和构建系统
  • 网站内页产品做跳转济南互联网网络营销
  • 网站推广策划公司短视频获客
  • 个人网站的服务器环境安装网站源码提取
  • 网站建设公司网站建设专业品牌网站名字重复
  • 网站开发有哪些方式网络营销案例论文3000字
  • 用vs2015做网站教程免费看舆情网站
  • 做软件好还是做网站好建行打95533能改密码吗
  • 做网站5年工资多少做网站首页多少钱
  • 网站app充值记账凭证怎么做手机怎么分享wordpress
  • 响应式网站建设多少钱文成网站建设
  • 帝国做双语网站免费域名的网站有哪些
  • 小企业网站建设有多少iis 建立子网站
  • 极速云建站淘金企业网站建设服务
  • 网站制作 建站php网站开发什么
  • 辽宁自适应网站建设公司提高网站权重的作用
  • 电子商务网站建设的技术综述关于医疗保障局门户网站建设
  • jquery 的网站模板深圳网站建设者
  • 3g小说网站中国网站排名网官网
  • 泉州住房建设局网站给学校建网站那个系统好
  • 专业手机网站开发wordpress 直接连接数据库文件