demoriz
Сен. 21, 2009 14:52:06
Задача такая:
Необходимо в программе открыть любой файл в двоичном режиме. Тоесть иметь в итоге “0011011011000” и работать в дальнейшем с ним в таком виде. Ну например для того чтобы подсчитать сколько в нём нулей а скоко еденичек :)
Помогите реализовать.
demoriz
Сен. 21, 2009 17:27:36
Я смотрю тему переместили в раздел “Python для новичков”. :)
Мда… вопрос как раз для новичков. Боюсь он тут и помрёт неотвеченным.
Ferroman
Сен. 21, 2009 17:54:34
Слово “Помогите” предусматривает что уже что-то сделано, но есть проблемы.
А не “Сделайте мне пожалуйста….”
demoriz
Сен. 21, 2009 18:13:35
Мне казалось это форум программистов на python а не знатоков тонкостей диалектики русского языка.
Покачто нет даже намёка на помощь не говоря уже о готовом коде.
Посты появляются, а воз и ныне там.
Ferroman
Сен. 21, 2009 20:04:47
Я не буду помогать до тех пор, пока не увижу что вы сами что-то пытались сделать, и наткнулись на трудности которые не знаете как решить. Делать что-то за вас никто не обязан и не собирается.
pasaranax
Сен. 21, 2009 20:26:18
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 - это жесть, так и не понял, как его нормально перевести в удобоваримый вид, кроме как отрезать первые два символа.
slav0nic
Сен. 22, 2009 01:33:01
pasaranax
как прикажите отличать 0b1111 от 1111 ?
“удобный вид” не для всех удобный, int('0b1111',2) прекрасно работает
сделай bin(1).lstrip('0b') получишь “удобный вид”
demoriz
Сен. 22, 2009 08:23:18
Ferroman
Я не буду помогать до тех пор, пока не увижу что вы сами что-то пытались сделать, и наткнулись на трудности которые не знаете как решить. Делать что-то за вас никто не обязан и не собирается.
Я делаю некую программу код которой по некоторым причинам показывать не хочу. Наткнулся на трудность описанную мной выше из-за отсутствий знаний в этой области. Я никого не просил делать за меня чтото, я просил помочь реализовать. Покажите мне пути, способы, инструментарий для работы с битами и байтами в python. Дайте совет дельный, ссылку на документацию где я могу заполнить пробел в знаниях. Абстрактные куски кода способные прояснить вопрос…
Как мне кажется подобные форумы существуют для того чтобы опытом делиться.
PooH
Сен. 22, 2009 10:53:34
Файл открывать в режиме “rb”, с данными работать через модуль struct
GDK
Сен. 22, 2009 11:00:09
Похоже самый информативный ответ.