Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 2, 2008 12:11:47

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

как прочитать файл побайтово?

Читаю файл и добавляю все символы которые в нем встречаются в множество:

f=open(filename, ‘r’)
file_content=f.read()
a=set()
for x in file_content:
a.add(x)

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



Отредактировано (Апрель 2, 2008 12:12:50)

Офлайн

#2 Апрель 2, 2008 12:42:49

shiza
От:
Зарегистрирован: 2007-07-03
Сообщения: 1073
Репутация: +  0  -
Профиль   Отправить e-mail  

как прочитать файл побайтово?

Читать по одному: read(1)

f = file(filename)
a = set()
while 1:
c = f.read(1)
if not c:
break
a.add(c)
Правда это получится непобайтово, а скорее посимвольно.
Чтоб побайтово, надо открывать файл в бинарном режиме: f = file(filename, ‘rb’)



Офлайн

#3 Апрель 2, 2008 12:43:31

j2a
От:
Зарегистрирован: 2006-06-29
Сообщения: 869
Репутация: +  1  -
Профиль   Отправить e-mail  

как прочитать файл побайтово?

Файл то бинарный, или текстовый?

если текстовый, то можно построчно читать:

fh = open(fname)
manifold = set()
for line in fh:
manifold = manifold.union(list(line))



Офлайн

#4 Апрель 2, 2008 13:43:13

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

как прочитать файл побайтово?

Grand merci



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version