У меня есть файл bibtex, полученный из внешнего интерфейса, и я пытаюсь проанализировать этот файл с помощью biblib (библиотека python для анализа файлов bibtex). Поскольку я получаю файл из внешнего интерфейса, он не сохраняется в файле на моем компьютере. Файл передается через переменную из внешнего интерфейса в python и затем сохраняется в переменной python fileFromFrontend. Так что я могу использовать, например:
bibtexFile = fileFromFrontend.read()
, чтобы прочитать файл.
сейчас я пытаюсь сделать что-то вроде следующего, чтобы напечатать проанализированный файл в терминале python:
from pybtex.database.input import bibtex
parser = bibtex.Parser()
bibtexFile= parser.parse_file(fileFromFrontend)
print (bibtexFile.entries)
, но затем я получаю эту ошибку:
-->bibtexFile = parser.parse_file(filesFromFrontend)
-->with open_file(filename, encoding=self.encoding) as f:
-->AttributeError: __enter__
Вероятно, это связано с тем, что анализатор пытается открыть файл, но ему не нужно открывать этот файл, ему просто нужно прочитать этот файл. Я не знаю, какую функцию из библиотеки biblib использовать для анализа файла из переменной, и пока не нашел ничего, что решило бы мою проблему.
Надеюсь, кто-нибудь сможет помочь
спасибо