Очистить выходной поток после каждой записи. Кажется, вы используете Python 3, поэтому вы можете установить параметр flush
для функции print()
:
print(msg, flush=True)
Если вы используете Python 2, вы можете использовать sys.stdout.flush()
и написать функцию ведения журнала:
def log(msg):
print msg
sys.stdout.flush()
Возможно, лучше использовать модуль logging
. Вот очень простой пример:
import logging
import time
logging.basicConfig(filename='/home/pi/Desktop/file.txt', level=logging.DEBUG)
for i in range(10):
logging.debug('Please establish LAN connection to the target device !')
time.sleep(4)
Это добавит к файлу. Если вы хотите перезаписать файл, передайте filemode='w'
в basicConfig()
.
Кроме того, если вам не нравится префикс DEBUG:root:
, вы можете использовать format='%(message)s'
только для регистрации сообщения:
logging.basicConfig(filename='/home/pi/Desktop/file.txt', filemode='w', level=logging.DEBUG, format='%(message)s')