IP-адрес Python Ping из TXT-файла - PullRequest
1 голос
/ 07 марта 2019

код принимает IP-адрес от 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 голосов
/ 07 марта 2019

Вам необходимо открыть выходной файл (IPsCheck.txt) в режиме добавления: «a +»

Подробнее см. Здесь https://www.guru99.com/reading-and-writing-files-in-python.html#2

Код ниже, кажется, работает. Измените DEBUG на False, если хотите прочитать ips из файла ips.

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))
...