Я делаю индикатор выполнения для моего сценария загрузки, и поэтому я хочу напечатать строку из нескольких '#', но я могу ' t заставить его работать. Когда я говорю Python не добавлять новую строку, он удаляет ее, но в функциях не работает должным образом. Используя "print ('#', end = '')" в Python 3 или "print '#'," в Python 2 он удаляется, но при выполнении под функциями он ничего не выводит, пока не завершится вся функция, он не должен ждать, как обычный print.
import time
i = 0
def status():
print('#', end='')
while i < 60:
status()
time.sleep(1)
i += 1
Он должен печатать '#' каждую секунду, но не . Он печатает их все через 60 секунд. Использование только print ('#'), как и ожидалось, распечатывает его каждую секунду. Мне действительно нужно исправить это. Пожалуйста, помогите!
Решение: "sys.stdout.flush ()" после каждого вывода:)