Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> сохранение данных в текстовый файл без закрытия са 
V
    Опции темы
pythonwin
Дата 6.5.2006, 08:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2529
Регистрация: 18.4.2006
Где: за компом

Репутация: 14
Всего: 36



Добрый день!

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

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

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

,то данные сохраняются в файл только когда выполняется "f.close()", а как сделать так, чтобы данные сохранялись в файл без закрытия самого файла. 
PM WWW GTalk Jabber   Вверх
SAnty
Дата 6.5.2006, 09:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 46
Регистрация: 16.2.2006

Репутация: 3
Всего: 5



Привет.

Python использует буферизацию, по этому даные могут и небыть записанные в файл, их можна записать если вызвать методы close или flush. Для вас подходит второй вариант. 
PM MAIL WWW   Вверх
allexdav
Дата 6.5.2006, 10:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


лоботомированное тело тиклского питоноида



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 19.3.2006
Где: Россия, Нижний Но вгород

Репутация: 3
Всего: 3



В питоне так же есть возможность работать с файлами на низком уровне, подключая модуль os и используя его функции os.open os.write и другие. Это про работу с файлами в "реальном режиме" 
PM MAIL ICQ   Вверх
pythonwin
Дата 6.5.2006, 12:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2529
Регистрация: 18.4.2006
Где: за компом

Репутация: 14
Всего: 36



сделал вот так

Код

f=open('C:\\f_test1.txt','a',0)
f.write(str(123))
# смотрим содержимое файла
f.close() 
 
PM WWW GTalk Jabber   Вверх
allexdav
Дата 8.5.2006, 23:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


лоботомированное тело тиклского питоноида



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 19.3.2006
Где: Россия, Нижний Но вгород

Репутация: 3
Всего: 3



наверное быстрее будет - 
Код

f=open('C:\\f_test1.txt','a',0)
f.write(str(123))
# смотрим содержимое файла
f.flush()
 
PM MAIL ICQ   Вверх
pythonwin
Дата 10.5.2006, 07:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2529
Регистрация: 18.4.2006
Где: за компом

Репутация: 14
Всего: 36



А вот так?

Код

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


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

 
PM WWW GTalk Jabber   Вверх
pythonwin
Дата 26.5.2006, 13:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2529
Регистрация: 18.4.2006
Где: за компом

Репутация: 14
Всего: 36



Спасибо всем кто помог мне решить эту проблему! 
PM WWW GTalk Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Python: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0431 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.