Python TK 实现ping (二)



简单实现3类网段的Ping,使用os的popen,返回结果为CMD实际输出


from tkinter import *

import os

# 控件布局
root = Tk()

top_frame = Frame(root)
botton_frame = Frame(root)
text_frame = Frame(root)

#L1 = Label(top_frame,text=' IP 地址 ')
#L1.pack(side='left')

#E1 = Entry(top_frame,textvariable=default_value,bd=2)
#E1.pack(side=LEFT)

def btn_click():
    evalue = Ping()

def Ping():
    #获取文本框里面的数值
    startip = En1.get().split(".")
    endip = En2.get().split(".")

   
    ip3 = ".".join(startip[:3])
    ip1 = int(startip[-1])
    #print(ip1)
    while 0<ip1<255:
        
        result=os.popen("ping "+ip3+"."+str(ip1)).read()
        text.insert(END,result)
        text.update()
        ip1 += 1
        #print(ip1)
        if ip1 > int(endip[-1]):
            break

#B1 = Button(top_frame,text = '确定',command=btn_click)
#B1.pack(side=RIGHT)

botton_left = Frame(botton_frame)
botton_right = Frame(botton_frame)

label1 = Label(botton_left,text="%-5s" % "开始IP:")
label2 = Label(botton_left,text="%-5s" % "结束IP:")
label1.pack(side = 'top')
label2.pack(side = 'top')

En1 = Entry(botton_right)
En2 = Entry(botton_right)
En1.pack(side='top')
En2.pack(side='top')

B2 = Button(botton_frame,text='确定',command=btn_click)
B2.pack(side=RIGHT)

text = Text(text_frame,width = 30, height = 30)
text.pack()


#top_frame.pack()
botton_frame.pack()
botton_left.pack(side='left')
botton_right.pack(side='right')
text_frame.pack()
root.mainloop()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值