Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 5, 2015 06:36:59

roggerg
Зарегистрирован: 2015-03-12
Сообщения: 61
Репутация: +  0  -
Профиль   Отправить e-mail  

Открытие файла в бинарном виде.

В книге М. Лутца (Изучаем Python 4 изд. глава 4 файлы стр.146
открытие файла в бинарном виде происходит так

 
data = open('data.bin', 'rb').read()

у меня в этом месте происходит ошибка
Вопрос что я делаю не так
d=open('data.bin', "rb").read()
Traceback (most recent call last):
  File "<pyshell#23>", line 1, in <module>
    d=open('data.bin', "rb").read()
FileNotFoundError: [Errno 2] No such file or directory: 'data.bin'

Офлайн

#2 Апрель 5, 2015 06:39:29

Egor2010
Зарегистрирован: 2014-10-22
Сообщения: 152
Репутация: +  0  -
Профиль   Отправить e-mail  

Открытие файла в бинарном виде.

roggerg
В книге М. Лутца (Изучаем Python 4 изд. глава 4 файлы стр.146открытие файла в бинарном виде происходит так
Не существует фаила “data.bin”

Офлайн

#3 Апрель 5, 2015 06:46:23

roggerg
Зарегистрирован: 2015-03-12
Сообщения: 61
Репутация: +  0  -
Профиль   Отправить e-mail  

Открытие файла в бинарном виде.

Хорошо, я его создал

d=open('data.bin', "rb").read()
>>> d
b'Hello world'
>>> 

бинарного вида не получил

Офлайн

#4 Апрель 5, 2015 10:45:07

TroSer
От: Харьков
Зарегистрирован: 2013-11-13
Сообщения: 65
Репутация: +  3  -
Профиль   Отправить e-mail  

Открытие файла в бинарном виде.

А что такое по-вашему

b'Hello world'
?

запустите
for elem in d:
	print(elem)

Офлайн

#5 Апрель 5, 2015 18:58:36

roggerg
Зарегистрирован: 2015-03-12
Сообщения: 61
Репутация: +  0  -
Профиль   Отправить e-mail  

Открытие файла в бинарном виде.

что то я немного запуталься вот целиком пример из книги с коментариями

data = open('data.bin', 'rb').read() # Файл открывается в двоичном режиме
data   # Строка байтов хранит двочные данные
b'\x00\x00\x00\x07spam\x00\x08'
data[4:8]
b'spam'

мне не понятно как получилось эта строка
b'\x00\x00\x00\x07spam\x00\x08'

в моем представлении бинарный и двоичный это одно и тоже поэтом и результат должен быть в виде 0 и 1

Этот пример находится на стр 146 М.Лунца

Отредактировано roggerg (Апрель 5, 2015 19:00:20)

Офлайн

#6 Апрель 5, 2015 19:03:03

sander
Зарегистрирован: 2015-02-19
Сообщения: 317
Репутация: +  53  -
Профиль   Отправить e-mail  

Открытие файла в бинарном виде.

Офлайн

#7 Апрель 5, 2015 23:26:37

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10031
Репутация: +  857  -
Профиль   Отправить e-mail  

Открытие файла в бинарном виде.

roggerg
в моем представлении бинарный и двоичный это одно и тоже поэтом и результат должен быть в виде 0 и 1
Бинарный файл - это последовательность байт. Каждый байт - это число от 0 до 255, то есть бинарный файл - это последовательность чисел. А числа хранятся в двоичном виде как в постоянной памяти, так и в оперативной.

А текстовый файл - это последовательность символов. Каждый символ - это последовательность из одного или нескольких байт.

Вот как выглядит один и тот же набор символов в виде разных последовательностей байт:
>>> 'абв'
'абв'
>>> 
>>> 'абв'.encode('utf-8')
b'\xd0\xb0\xd0\xb1\xd0\xb2'
>>> 
>>> 'абв'.encode('cp1251')
b'\xe0\xe1\xe2'
>>>
>>> 'абв'.encode('koi8-r')
b'\xc1\xc2\xd7'
>>> 
>>> 'абв'.encode('utf-32')
b'\xff\xfe\x00\x000\x04\x00\x001\x04\x00\x002\x04\x00\x00'
>>>



Отредактировано py.user.next (Апрель 5, 2015 23:28:44)

Офлайн

#8 Апрель 6, 2015 02:12:21

roggerg
Зарегистрирован: 2015-03-12
Сообщения: 61
Репутация: +  0  -
Профиль   Отправить e-mail  

Открытие файла в бинарном виде.

спасибо

Отредактировано roggerg (Апрель 6, 2015 02:13:50)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version