Используя приведенный ниже код, я записываю показания времени и напряжения в файл журнала. Я замечаю, что если я «открываю» файл журнала во время работы программы, он не показывает никаких новых данных. Он показывает только те данные, которые уже были в файле logfile.txt из предыдущего запуска программы. Чтобы новые данные отображались в файле logfile.txt, я должен остановить запущенную программу (cntl-C), а затем снова открыть файл logfile.txt. Новые данные должны быть записаны где-то. Почему данные не отображаются в файле журнала?Где секретный файл журнала python?
import sys, time, signal
with open('logfile.txt', 'a') as f:
while True:
volts = adc.read(256, 8)
print >> f, time(), volts
Ну, он буферизирован, поэтому либо используйте 'open ('logfile.txt', 'a', 0)', чтобы открыть файл в небуферизованном режиме, либо очистить файл ('f.flush()') каждый раз вы хотите прочитать «живые» данные из файла из другого места. – mvdwerve
Какую программу вы используете для открытия файла? Предназначено ли обновление, когда файл обновляется? Сколько данных записывается? Регистратор Python очистит каждое событие журнала. но ОС может буферизовать потоки файлов. –
Я открываю файл журнала вручную с помощью мыши и просто нажимаю на его значок после поиска, если в файловом менеджере. – Rico