脑子笨,口算子网掩码有点慢,于是用python3写了个子网掩码计算器,可以算IPV4和IPV6,支持192。168。1。124和192。168。1。1255。255。255。0两种掩码方式。 脚本内容如下:fromIPyimportIPimporttkinterdefipmask(strs):try:ipIP(strs,makenetTrue)info{}info〔IPMASK〕str(ip)info〔MASK〕str(IP(ip)。strNormal(2)。split()〔1〕)info〔LENGTH〕ip。len()info〔START〕str(ip〔0〕)info〔END〕str(ip〔1〕)retinfoexcept:ipret格式有误returnret,ipclassMYGUI():definit(self,initwindowname):self。initwindownameinitwindownamedefsetinitwindow(self):self。initwindowname。title(IP子网掩码计算器)self。initwindowname。geometry(500x610500100)self。initwindowname。attributes(alpha,0。95)self。iplabeltkinter。Label(self。initwindowname,textIPMASK)self。iplabel。pack(filltkinter。X,sidetkinter。TOP)self。iptexttkinter。Entry(self。initwindowname)self。iptext。pack(filltkinter。X,sidetkinter。TOP,)self。buttontkinter。Button(self。initwindowname,text计算,width13,commandself。trans)self。button。pack(filltkinter。Y,sidetkinter。TOP)self。resultdataTexttkinter。Text(self。initwindowname)self。scrolltkinter。Scrollbar()self。scroll。pack(sidetkinter。RIGHT,filltkinter。Y)self。scroll。config(commandself。resultdataText。yview())self。resultdataText。config(yscrollcommandself。scroll。set)self。resultdataText。pack(filltkinter。Y,sidetkinter。TOP,expandyes)功能函数deftrans(self):self。resultdataText。delete(1。0,tkinter。END)strsself。iptext。get()info,ipipmask(strs)ifMASKininfo:self。resultdataText。insert(tkinter。END,)foriininfo:self。resultdataText。insert(tkinter。END,{:10}{}。format(i,info〔i〕))self。resultdataText。insert(tkinter。END,{}。format(50))else:self。resultdataText。insert(tkinter。END,info)ifip:ifip。len()65536:self。resultdataText。insert(tkinter。END,列表过大)else:foriinip:self。resultdataText。insert(tkinter。END,str(i))defguistart():initwindowtkinter。Tk()ZMJPORTALMYGUI(initwindow)ZMJPORTAL。setinitwindow()initwindow。mainloop()guistart()