Уведомления

Группа в Telegram: @pythonsu

#1 Май 16, 2008 21:16:02

fullerene
От:
Зарегистрирован: 2008-05-16
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Считать слово из файла

Я дико извиняюсь,

как называется аналог input для файлов? Т.е. надо считать число из файла и записать его в переменную.

На С++ это:
ifstream file;
file.open (filename);
file >> var;



Офлайн

#2 Май 16, 2008 22:18:13

Andity
От:
Зарегистрирован: 2008-02-22
Сообщения: 63
Репутация: +  0  -
Профиль   Отправить e-mail  

Считать слово из файла

1 самый простой способ.
open() - открывает файл на чтение (2-й параметр опущен, по умолчанию ‘r’ - чтение)

f = open('c:\\1.txt')
var = f.read()
f.close()
так же есть методы
f.readline() # читает всю строку
f.readlines() # все строки

2 с использование итератора:
f = open('c:\\1.txt')
for l in f:
    print l    # итератор возвращает строку! 
f.close()

3 Используем “модный” оператор with (см. http://www.python.org/peps/pep-0343.html) - обрамляет код в try-finally, перед try вызывается метод - .__enter__(), в finally - .__exit__(), переданного в with объекта. Поэтому писать f.close() - не нужно, Python сам уничтожит объект.
from __future__ import with_statement
with open('c:\\1.txt') as f:
    var = f.read()



Отредактировано (Май 16, 2008 22:21:51)

Офлайн

#3 Май 16, 2008 22:22:17

fullerene
От:
Зарегистрирован: 2008-05-16
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Считать слово из файла

А если не строку и не n символов, а число (слово, группу байтов до пробела)?

Есть файл:
0.124343 11.332323 5.2221
22.11 22.33 1.004

Задача: поочередно считывать числаи анализировать их.



Отредактировано (Май 16, 2008 22:23:51)

Офлайн

#4 Май 16, 2008 22:28:07

fullerene
От:
Зарегистрирован: 2008-05-16
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Считать слово из файла

Короче, я понял: надо писать процедуру обработки строки, выводимой read()



Офлайн

#5 Май 16, 2008 22:40:15

fullerene
От:
Зарегистрирован: 2008-05-16
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Считать слово из файла

Готовой ни у кого нет?



Офлайн

#6 Май 16, 2008 22:41:25

Andity
От:
Зарегистрирован: 2008-02-22
Сообщения: 63
Репутация: +  0  -
Профиль   Отправить e-mail  

Считать слово из файла

fullerene
ну можно получить список строк из переменных и анализировать так.

f = open('c:\\1.txt')
for l in f:
    print l.strip().split()
strip() - избавляемся от лишних пробелов и символов новой строки
split() - создаем список



Офлайн

#7 Май 16, 2008 22:54:04

fullerene
От:
Зарегистрирован: 2008-05-16
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Считать слово из файла

Ясно. Знакомство с питоном началось через задницу.



Офлайн

#8 Май 16, 2008 23:03:33

Andity
От:
Зарегистрирован: 2008-02-22
Сообщения: 63
Репутация: +  0  -
Профиль   Отправить e-mail  

Считать слово из файла

Скорее всего, это только мой воспаленный мозг смог родить такое :)
Надеюсь (и буду рад), более компетентные товарищи меня поправят, если что не так)



Офлайн

#9 Май 17, 2008 10:56:09

REDSYMBZONE
От:
Зарегистрирован: 2008-02-24
Сообщения: 19
Репутация: +  0  -
Профиль   Отправить e-mail  

Считать слово из файла

Надеюсь я в тему..
Как прировнять переменную к содержимому файла?
Тоесть чтобы это было числовое значение а не строка в юникоде.



Офлайн

#10 Май 17, 2008 23:03:57

playpauseandstop
От:
Зарегистрирован: 2007-10-31
Сообщения: 77
Репутация: +  0  -
Профиль   Отправить e-mail  

Считать слово из файла

REDSYMBZONE
Тоесть чтобы это было числовое значение а не строка в юникоде.
ключевые слова float, int



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version