Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Python: Общие вопросы > сохранение данных в текстовый файл без закрытия са


Автор: pythonwin 6.5.2006, 08:42
Добрый день!

Можете помочь?

Как работать с текстовым файлом в реальном режиме?
Например:
если
Код

f=open('путь', 'а')
f.write(переменная1)
f.write(переменная2)
...
f.write(переменнаяN)
f.close() # сохраняем данные и закрываем файл

,то данные сохраняются в файл только когда выполняется "f.close()", а как сделать так, чтобы данные сохранялись в файл без закрытия самого файла. 

Автор: SAnty 6.5.2006, 09:17
Привет.

Python использует буферизацию, по этому даные могут и небыть записанные в файл, их можна записать если вызвать методы close или flush. Для вас подходит второй вариант. 

Автор: allexdav 6.5.2006, 10:50
В питоне так же есть возможность работать с файлами на низком уровне, подключая модуль os и используя его функции os.open os.write и другие. Это про работу с файлами в "реальном режиме" 

Автор: pythonwin 6.5.2006, 12:35
сделал вот так

Код

f=open('C:\\f_test1.txt','a',0)
f.write(str(123))
# смотрим содержимое файла
f.close() 
 

Автор: allexdav 8.5.2006, 23:35
наверное быстрее будет - 
Код

f=open('C:\\f_test1.txt','a',0)
f.write(str(123))
# смотрим содержимое файла
f.flush()
 

Автор: pythonwin 10.5.2006, 07:27
А вот так?

Код

f=open('C:\\f_test1.txt','a',2**20*10) # 2**20 == 1Mb
f.write(str(123))
# смотрим содержимое файла
f.flush()


По быстрее будет?

 

Автор: pythonwin 26.5.2006, 13:28
Спасибо всем кто помог мне решить эту проблему! 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)