1 回答

TA貢獻1818條經(jīng)驗 獲得超3個贊
根據(jù)文檔(https://docs.pybtex.org/api/parsing.html)有方法
parse_string
parse_bytes
哪個可以工作。
像這樣
我有一個從前端獲得的 bibtex 文件,我正在嘗試用 biblib (一個解析 bibtex 文件的 python 庫)解析這個文件。因為我從前端獲取文件,所以它沒有存儲在我電腦上的文件中。該文件通過一個變量從前端傳遞到 python,然后存儲在 python 變量 fileFromFrontend 中。所以我可以使用例如:
bibtexFile = fileFromFrontend.read() 讀取文件。
現(xiàn)在我正在嘗試執(zhí)行以下操作以在 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 庫的什么函數(shù)來解析來自變量的文件,并且到目前為止還沒有找到任何東西來解決我的問題。
希望有人可以提供幫助
添加回答
舉報