Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 21, 2009 14:52:06

demoriz
От:
Зарегистрирован: 2009-04-27
Сообщения: 14
Репутация: +  0  -
Профиль   Отправить e-mail  

Работа с файлом в двоичном виде.

Задача такая:
Необходимо в программе открыть любой файл в двоичном режиме. Тоесть иметь в итоге “0011011011000” и работать в дальнейшем с ним в таком виде. Ну например для того чтобы подсчитать сколько в нём нулей а скоко еденичек :)
Помогите реализовать.



Офлайн

#2 Сен. 21, 2009 17:27:36

demoriz
От:
Зарегистрирован: 2009-04-27
Сообщения: 14
Репутация: +  0  -
Профиль   Отправить e-mail  

Работа с файлом в двоичном виде.

Я смотрю тему переместили в раздел “Python для новичков”. :)
Мда… вопрос как раз для новичков. Боюсь он тут и помрёт неотвеченным.



Офлайн

#3 Сен. 21, 2009 17:54:34

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

Работа с файлом в двоичном виде.

Слово “Помогите” предусматривает что уже что-то сделано, но есть проблемы.
А не “Сделайте мне пожалуйста….”

Офлайн

#4 Сен. 21, 2009 18:13:35

demoriz
От:
Зарегистрирован: 2009-04-27
Сообщения: 14
Репутация: +  0  -
Профиль   Отправить e-mail  

Работа с файлом в двоичном виде.

Мне казалось это форум программистов на python а не знатоков тонкостей диалектики русского языка.
Покачто нет даже намёка на помощь не говоря уже о готовом коде.
Посты появляются, а воз и ныне там.



Офлайн

#5 Сен. 21, 2009 20:04:47

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

Работа с файлом в двоичном виде.

Я не буду помогать до тех пор, пока не увижу что вы сами что-то пытались сделать, и наткнулись на трудности которые не знаете как решить. Делать что-то за вас никто не обязан и не собирается.

Офлайн

#6 Сен. 21, 2009 20:26:18

pasaranax
От:
Зарегистрирован: 2009-06-13
Сообщения: 574
Репутация: +  0  -
Профиль   Отправить e-mail  

Работа с файлом в двоичном виде.

file = open("/etc/hosts", "r").read()
def char2bin(char):
return "%08i" % int(bin(ord(char))[2:])
print "".join([char2bin(c) for c in file])
двоичное представление числа в виде _строки_ с префиксом 0b - это жесть, так и не понял, как его нормально перевести в удобоваримый вид, кроме как отрезать первые два символа.



Офлайн

#7 Сен. 22, 2009 01:33:01

slav0nic
Команда
От: dp.ua
Зарегистрирован: 2006-05-07
Сообщения: 2260
Репутация: +  41  -
Профиль   Отправить e-mail  

Работа с файлом в двоичном виде.

pasaranax
как прикажите отличать 0b1111 от 1111 ?
“удобный вид” не для всех удобный, int('0b1111',2) прекрасно работает
сделай bin(1).lstrip('0b') получишь “удобный вид”

Офлайн

#8 Сен. 22, 2009 08:23:18

demoriz
От:
Зарегистрирован: 2009-04-27
Сообщения: 14
Репутация: +  0  -
Профиль   Отправить e-mail  

Работа с файлом в двоичном виде.

Ferroman
Я не буду помогать до тех пор, пока не увижу что вы сами что-то пытались сделать, и наткнулись на трудности которые не знаете как решить. Делать что-то за вас никто не обязан и не собирается.
Я делаю некую программу код которой по некоторым причинам показывать не хочу. Наткнулся на трудность описанную мной выше из-за отсутствий знаний в этой области. Я никого не просил делать за меня чтото, я просил помочь реализовать. Покажите мне пути, способы, инструментарий для работы с битами и байтами в python. Дайте совет дельный, ссылку на документацию где я могу заполнить пробел в знаниях. Абстрактные куски кода способные прояснить вопрос…
Как мне кажется подобные форумы существуют для того чтобы опытом делиться.



Офлайн

#9 Сен. 22, 2009 10:53:34

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

Работа с файлом в двоичном виде.

Файл открывать в режиме “rb”, с данными работать через модуль struct



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

#10 Сен. 22, 2009 11:00:09

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

Работа с файлом в двоичном виде.

Похоже самый информативный ответ.



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version