χάμστερ :: :: :: ::
Feci, quod potui, faciant meliora potentes
Задача: есть несколько бинарных файлов. Нужно получить новые файлы, которые получаются из исходных путем инвертирования каждого бита.
Получилось следующее решение на Python:
import os
def process(fnIn, fnOut):
f = open(fnIn, 'rb')
fo = open(fnOut, 'wb')
try:
CHUNKSIZE = 1024
bytes_read = f.read(CHUNKSIZE)
while bytes_read:
for b in bytes_read:
b = ~ord(b)
""" Здесь небольшой изврат, тк не нашел,
как можно записать байт в файл,
а chr принимает только положительные значения,
в то время как в результате инверта может получится
отрицательное"""
if (b < 0) :
b = 256 + b
fo.write(chr(b))
bytes_read = f.read(CHUNKSIZE)
finally:
f.close()
fo.close()
names = os.listdir('e')
for name in names:
process('e/'+name, 'eo/'+name)
Новое на сайте:
- Node.js
- PHP
- Python
- Apache и другие
- Git
- Postgres и локаль
- mysqldump с удаленного сервера
- unity ios build
- Включение и просмотр логов запросов mysql
- Could not find a valid tablespace file for 'database/#sql-*'
- JavaScript, CustomEvent, dispatchevent и jquery.on()
- rabbitmq побился индекс, когда закончилось место