如何将 biblib 解析器与存储在 pyhon 变量中的 bibtex 文件一起使用?
How to use the biblib parser with a bibtex file stored in a pyhon variable?
我有一个从前端获取的 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 库的什么函数用于从变量解析文件,到目前为止还没有找到任何东西来解决我的问题。
希望有人能帮忙
谢谢
根据文档 (https://docs.pybtex.org/api/parsing.html) 有一些方法
parse_string
和 parse_bytes
可以工作。
这么喜欢
from pybtex.database.input import bibtex
parser = bibtex.Parser()
bibtexFile= parser.parse_bytes(fileFromFrontend.read())
print (bibtexFile.entries)
我没有安装pybtex,所以没法自己试。但是试试那些方法。 Parse_bytes 和 parse_string 需要 bib-format 作为第二个参数。在 bibtex 的示例中,所以我在这里尝试了。
我有一个从前端获取的 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 库的什么函数用于从变量解析文件,到目前为止还没有找到任何东西来解决我的问题。
希望有人能帮忙
谢谢
根据文档 (https://docs.pybtex.org/api/parsing.html) 有一些方法
parse_string
和 parse_bytes
可以工作。
这么喜欢
from pybtex.database.input import bibtex
parser = bibtex.Parser()
bibtexFile= parser.parse_bytes(fileFromFrontend.read())
print (bibtexFile.entries)
我没有安装pybtex,所以没法自己试。但是试试那些方法。 Parse_bytes 和 parse_string 需要 bib-format 作为第二个参数。在 bibtex 的示例中,所以我在这里尝试了。