txt文件中的python ping ip地址

时间:2019-03-07 10:51:17

标签: python operating-system ping

代码从txt获取IP地址。当服务器在线时,写入新的txt文件。但是这段代码只写了txt文件中的最后一个文件,其他时间再也没有了。我需要帮助

火车


import os


file = open("IPs.txt","r+")

with open("IPs.txt","r") as file:

  for line in file:
     response =  os.system("ping   " + line)

     if response == 0:
        with open("IPsCheck.txt","w") as file:
            print(line)
            file.write(line)




     else:
        print("server not available ")

enter image description here

1 个答案:

答案 0 :(得分:0)

您需要以附加模式打开输出文件(IPsCheck.txt):“ a +”

查看更多https://www.guru99.com/reading-and-writing-files-in-python.html#2

以下代码似乎有效。如果要从ips文件读取ips,请将DEBUG更改为False。

import os

DEBUG = True

DEBUG_IPS = ['1.1.1.1', '8.8.8.8']

if DEBUG:
    ips = DEBUG_IPS
else:
    with open("IPs.txt", "r+") as ips_file:
        ips = [ip.strip() for ip in ips_file.readlines()]

with open("IPsCheck.txt", "w") as available_ips_file:
    for ip in ips:
        response = os.system('ping {}'.format(ip))
        if response == 0:
            available_ips_file.write(ip)
        else:
            print('server {} not available'.format(ip))