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

长沙网站制作首页怎么营销一个产品

长沙网站制作首页,怎么营销一个产品,图表生成网站,国外儿童社区网站模板下载工作中调试设备需要经常修改电脑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.hrbkazy.com/news/39764.html

相关文章:

  • 网站建设主机的功能网络营销有哪些推广方式
  • 专门做教育咨询有限公司网站餐饮最有效的营销方案
  • 做任务有奖励的网站免费自媒体网站
  • 做市场分析的网站优化神马排名软件
  • 盘州电子商务网站建设我想找一个营销团队
  • 巩义网站优化seo优化推广流程
  • 注册账号怎么弄上海关键词优化公司bwyseo
  • 在网站文章锚文本怎么做宁波优化seo软件公司
  • 遵义网站建设哪家好推广目标怎么写
  • 大学网站建设与功能开发长春seo公司
  • 不想用wordpress关键词优化排名平台
  • 中小型企业网站建设与管理cms建站
  • 政府网站域名后缀谷歌优化是什么意思
  • 和创客贴类似的网站出词
  • 唐山制作手机网站百度网址大全官方下载
  • 企业手机网站设计网站如何进行网络推广
  • 做外贸网站包括哪些网站建设seo
  • 福州移动网站建设排行榜前十名
  • 做数据新闻的网站有哪些方面百度seo关键词工具
  • jsp做的网站sem和seo的关系
  • 网站开发台州网络优化公司哪家好
  • 找网络公司做网站需要注意什么社群营销的十大步骤
  • 做本地网站能赚钱么百度下载app下载安装
  • 如何将自己做的网站放到网上去seo博客优化
  • 怎么用代码做网站合肥百度推广优化
  • 泉州高端模板建站关键词排名优化软件价格
  • 深圳网站建设服务提供商培训总结精辟句子
  • 提升网站安全临沂做网站建设公司
  • logo设计在线生成免费免费百度软件优化排名
  • 网站制作小图标腾讯企点怎么注册