onec_dtools - библиотека для работы с бинарными файлами 1С:Предприятие 8 (1CD, cf, epf, efd и т.д.) без использования технологической платформы.
Добавил многопоточности при распаковке cf-ников.
На локальной машине, при распаковке ERP2 (сf ~1Гб) результат выглядит так: было ~12 мин, стало ~3 мин.
Загрузка процессора ~30% (Intel i5, 4 ядра, 3.1 ГГц, SSD)
P.S. Использовался python v3.7 под windows 8.1
pip install onec_dtools
Полное описание всех возможностей библиотеки доступно в документации.
Простой пример, демонстрирующий чтение всех данных (включая BLOB) из таблицы V8USERS:
import onec_dtools with open('1Cv8.1CD', 'rb') as f: db = onec_dtools.DatabaseReader(f) if row.is_empty: continue for row in db.tables['V8USERS']: print(row.as_list(True))
Распаковка и запаковки CF файла:
import onec_dtools onec_dtools.extract('D:/sample.cf', 'D:/unpack') onec_dtools.build('D:/unpack', 'D:/repacked.cf')