Я пытаюсь обработать большую коллекцию txt-файлов, которые сами являются контейнерами для тех файлов, которые я хочу обработать.TXT-файлы имеют теги sgml, которые устанавливают границы для отдельных файлов, которые я обрабатываю.Иногда содержащиеся в них файлы представляют собой двоичные файлы, которые были закодированы.Я решил проблему декодирования uuencoded файлов, но когда я обдумывал свое решение, я решил, что оно недостаточно общее.То есть я использовал
if '\nbegin 644 ' in document['document']
, чтобы проверить, не закодирован ли файл.Я провел некоторый поиск и имел смутное представление о том, что означает 644 (права доступа к файлам), а затем нашел другие примеры файлов с uuencoded, которые могут иметь
if '\nbegin 642 ' in document['document']
или даже некоторые другие альтернативы.Таким образом, моя проблема заключается в том, как мне убедиться, что я перехватываю / идентифицирую все субконтейнеры, в которых есть файлы с кодировкой uuenco.
Одно из решений состоит в том, чтобы протестировать каждый субконтейнер:ужасно, процессорные циклы дешевы, но я собираюсь обработать около 8 миллионов документов.
Таким образом, существует ли более надежный способ распознать, является ли конкретная строка результатом uuencoding?