Похоже, вы записываете номер прогресса. Это означает, что ваша строка никогда не станет короче, только дольше.
Из-за этого вам не нужно обрезать его перед каждой записью - просто вернитесь к началу и запишите предыдущее значение. Затем выполните очистку, чтобы данные были доступны всем, кто отслеживает состояние.
Выполнение этого несколько раз в секунду не должно занимать много времени, и это самое простое решение.
fp = open('status.txt', 'w')
#whenever you want to write
fp.seek(0)
fp.write('12983214/23180100')
fp.flush()
#when you're done
fp.close()
Если строка состояния может стать короче, просто добавьте
fp.truncate(0)
до write
. Вам все еще нужно seek
, потому что усечение не меняет текущую позицию файла.
Все эти методы описаны в встроенных файловых объектах .