Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 3, 2009 02:34:59

neuron
От:
Зарегистрирован: 2009-08-03
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Создание бинарных файлов

Ребята, есть вопрос касательно создания бинарных файлов в python. А именно, мне нужно записать некоторое количество чисел в бинарный файл… Интересные грабли возникают тут: когда я записываю в файл ‘\x00’, файл считается бинарным… А если я записываю в файл ‘\x31’, файл сохраняется как текстовый и содержит цифру 1.
Вопроса собственно два:
1) Как число преобразовать в его байтовое представление(и нужно ли вообще это для записи) ?
2) Как записывать чтобы после записи файл был бинарным а не текстовым.

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



Офлайн

#2 Авг. 3, 2009 06:28:01

Striver
От:
Зарегистрирован: 2006-10-26
Сообщения: 247
Репутация: +  22  -
Профиль   Отправить e-mail  

Создание бинарных файлов

Нужно открывать файл на запись не так
open('file.bin','w')

а так
open ('file.bin','bw')


Но, вообще-то любой файл можно открыть в текстовом редакторе, и если в нём только один байт ‘\x31’, то там он будет выглядеть текстом - цифрой “1”. В этом нет ничего ужасного. Важно только, чтобы читающая программа его понять смогла.



Офлайн

#3 Авг. 3, 2009 15:33:12

neuron
От:
Зарегистрирован: 2009-08-03
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Создание бинарных файлов

>> open ('file.bin','bw')

Я так и открываю.

>> Но, вообще-то любой файл можно открыть в текстовом редакторе, и если в нём только один байт ‘\x31’, то там он будет выглядеть текстом - цифрой “1”. В этом нет ничего ужасного. Важно только, чтобы читающая программа его понять смогла.

Проблема то в том что с ‘\x31’ проблем нет, это только пример, проблемы начинаются когда я захочу сохранить 12345, в языке это целочисленный тип (например 4 байта) а в тексте это число займёт 5 байт, вот тут то возникают и проблемы.



Офлайн

#4 Авг. 3, 2009 16:01:33

Viper
От:
Зарегистрирован: 2006-11-08
Сообщения: 137
Репутация: +  0  -
Профиль   Отправить e-mail  

Создание бинарных файлов

Пакуешь число с помощью struct и записываешь в файл.



Офлайн

#5 Авг. 3, 2009 16:17:37

neuron
От:
Зарегистрирован: 2009-08-03
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Создание бинарных файлов

Огромное спасибо :)



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version