Я пытаюсь исправить сломанную библиотеку, которую хочу использовать на Github.
Я локально «исправил» проблему. но я не думаю, что это очень чистый метод...
Я роюсь в библиотеке WARC в интернет-архиве, особенно в части arc.py (https://github.com/internetarchive/warc/blob/master/warc/arc.py).
С тех пор, как была написана библиотека, инструменты, которые создают файлы ARC, немного изменились, и в результате встроенный анализатор дает сбой, поскольку он не ожидает увидеть некоторые метаданные в файле.
Мое локальное исправление выглядит так:
if header.startswith("<arcmetadata"):
while not header.endswith("</arcmetadata>\n"):
header = self.fileobj.readline()
header = self.fileobj.readline()
header = self.fileobj.readline()
И я не уверен, что мой вызов readlines()
дважды, чтобы удалить следующие две пустые строки (содержащие "/n"
, является самым чистым способом продвижения по файловому объекту.
Это хороший питон? или есть лучший способ?