@Orlov1

Progress bar как вывести результат?

Всем привет!

Есть простой код - чекер прокси с прогресс баром процесса проверки.
Как выводить валидные прокси под бегущим прогресс баром не нарушая его работу ?
Т.е нужно выводить под прогресс баром валидные прокси в формате XXX.XXX.XXX.XXX ip адреса.

import requests
from random import choice
from progress.bar import Bar
from colorama import Fore, Back, Style
 
url = 'https://google.com'
 
lines = sum(1 for line in open('proxy.txt', 'r', encoding="utf-8"))
 
proxyes = open('proxy.txt').read().split('\n')
useragent = open('ua.txt').read().split('\n') 
 
bar = Bar('Выполнение ', max=lines)
 
for i in (proxyes):
    proxy = {'http':'http://' + choice(proxyes)}
    headers = {'User-Agent' : choice(useragent)}
    bar.next()
 
    #############################
 
    s = requests.Session()
    req_prox = s.get(url, proxies=proxy, headers=headers)
    if req_prox.status_code == 200:
        # print ("\n" + "Прокси валиден " + str(proxy)[17:][:-2])
        proxy_good = (str(proxy)[17:][:-2])
        outfile = open('goods_proxy.txt', 'a')
        outfile.write(proxy_good + "\n")
        outfile.close()
 
bar.finish()
  • Вопрос задан
  • 102 просмотра
Решения вопроса 1
Vindicar
@Vindicar
RTFM!
Оставаясь в рамках стандартного терминала - никак.
Под никсами для сложного интерфейса в терминале есть ncurses, под виндой придётся искать аналог.
Я бы сказал, если нужно что-то сложнее print() - осваивай tkinter. Если написать программу с умом, то можно будет сделать гибридное приложение, которое будет показывать GUI при обычном запуске, и работать в консоли при запуске с параметрами. Это если такое требуется, конечно - я фз какой у тебя сценарий использования.

UPD: есть вариант использовать для вывода прогрессбара stderr, а для вывода результатов stdout, но в терминале они всё равно перемешаются.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы