os.system和os.popen
import os
# os.system直接输出
os.system("ping 127.0.0.1")
输出:
���� Ping 127.0.0.1 ���� 32 �ֽڵ�����:
���� 127.0.0.1 �Ļظ�: �ֽ�=32 ʱ��<1ms TTL=64
���� 127.0.0.1 �Ļظ�: �ֽ�=32 ʱ��<1ms TTL=64
���� 127.0.0.1 �Ļظ�: �ֽ�=32 ʱ��<1ms TTL=64
���� 127.0.0.1 �Ļظ�: �ֽ�=32 ʱ��<1ms TTL=64
127.0.0.1 �� Ping ͳ����Ϣ:
���ݰ�: �ѷ��� = 4���ѽ��� = 4����ʧ = 0 (0% ��ʧ)��
�����г̵Ĺ���ʱ��(�Ժ���Ϊ��λ):
��� = 0ms��� = 0ms��ƽ�� = 0ms
import os
# os.popen手动输出
ping = os.popen("ping 127.0.0.1")
out = ping.read()
print(out)
输出:
正在 Ping 127.0.0.1 具有 32 字节的数据:
来自 127.0.0.1 的回复: 字节=32 时间<1ms TTL=64
来自 127.0.0.1 的回复: 字节=32 时间<1ms TTL=64
来自 127.0.0.1 的回复: 字节=32 时间<1ms TTL=64
来自 127.0.0.1 的回复: 字节=32 时间<1ms TTL=64
127.0.0.1 的 Ping 统计信息:
数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 0ms,最长 = 0ms,平均 = 0ms
或者:
import os
# os.popen手动输出
ping_list = os.popen("ping 127.0.0.1").readlines()
print(ping_list)
输出:
['\n', '正在 Ping 127.0.0.1 具有 32 字节的数据:\n', '来自 127.0.0.1 的回复: 字节=32 时间<1ms TTL=128\n', '来自 127.0.0.1 的回复: 字节=32 时间<1ms TTL=128\n', '来自 127.0.0.1 的回复: 字节=32 时间<1ms TTL=128\n', '来自 127.0.0.1 的回复: 字节=32 时间<1ms TTL=128\n', '\n', '127.0.0.1 的 Ping 统计信息:\n', ' 数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),\n', '往返行程的估计时间(以毫秒为单位):\n', ' 最短 = 0ms,最长 = 0ms,平均 = 0ms\n']
案例:扫描局域网内ip
import _thread
import time
import os
def ping_ip(ip):
# windows
_cmd = "ping %s -n 1" % ip
# Linux
# _cmd = "ping %s -c 1" % ip
os.system(_cmd)
if __name__ == '__main__':
# 来自 192.168.1.2 的回复: 字节=32 时间=41ms TTL=64
ip_template = '192.168.50.'
for i in range(1, 255):
ip = ip_template + str(i)
# 多线程方法
_thread.start_new_thread(ping_ip, (ip,))
time.sleep(0.1)
浙公网安备 33010602011771号