Как я могу улучшить свой код состояния строки без использования внешних библиотек на Python?(размер не правильный) - PullRequest
0 голосов
/ 25 июня 2019

Мне удалось настроить индикатор выполнения внутри цикла, но я не смог правильно его подогнать с большими или меньшими значениями. Есть ли способ исправить или улучшить код?

Ниже того, что у меня есть:

from time import sleep

import socket

import sys

###### to reproduce my point, increment the number of variables on this list

result_ip = ['10.143.40.44', '10.143.40.80', '10.143.41.138', '10.143.41.139', '10.143.40.43', '10.143.40.41'] - 

Result = []

length = len(result_ip) # CALULATES LENGTH OF MENTIONED LIST

i = 0


while i < length: # LOOPS UNTIL ALL THE POSITIONS ARE DONW
    for lines in result_ip:
        for k in range(length): # HERE STARTS THE STATUS BAR

            try:
                (name, _, ip_address_list) = socket.gethostbyaddr(result_ip[i]) #RETRIEVES DNS USING IP ON THE LIST

            except socket.herror as msg: #ERROR HANDLER
                Result.append("\nDNS NOT FOUND" + " - " + result_ip[i]+"\n")
                i += 1
            else:
                ip_address1 = ip_address_list[0] #PROCESS THE DATA AND ADDS IT TO A NEW LIST
                Result.append(name + " - " + ip_address1+"\n")
                i += 1 #ITERATES ADDING 1 TO i 

            j = (k + 1) / length 
            sys.stdout.write('\r')

            ######### I THINK THE ISSUE IS HERE

            sys.stdout.write("[{:{}}] {:.1f}%".format("=" * k, length - 1, (100 / (length - 1) * k)))
            sys.stdout.flush()
            sleep(0.25)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...