我已经创建了一个脚本,它为摘要和关键字抓取许多PDF文件。我还有一个bibtex文件的集合,我想在其中放置我提取的文本。我要找的是一种向bibtex文件添加元素的方法。在
我写了一个简短的解析器:
#!/usr/bin/python
#-*- coding: utf-8
import os
from pybtex.database.input import bibtex
dir_path = "nime_archive/nime/bibtex/"
num_texts = 0
class Bibfile:
def __init__(self,bibs):
self.bibs = bibs
for a in self.bibs.entries.keys():
num_text += 1
print bibs.entries[a].fields['title']
#Need to implement a way of getting just the nime-identificator
try:
print bibs.entries[a].fields['url']
except:
print "couldn't find URL for text: %s " % a
print "creating new bibfile"
bibfiles = []
parser = bibtex.Parser()
for infile in os.listdir(dir_path):
if infile.endswith(".bib"):
print infile
bibfiles = Bibfile(parser.parse_file(dir_path+infile))
我的问题是是否可以使用Pybtex将元素添加到现有的bibtex文件中(或创建一个副本),这样我就可以将我的提取与现有的内容合并。如果这在Pybtex中是不可能的,那么我可以使用其他的bibtex解析器吗?在
我从来没有使用过pybtex,但是通过快速浏览,您可以添加条目。由于
self.bibs.entries
似乎是一个dict
,因此可以使用一个唯一的键,并向其添加更多的项。示例:(警告:未经测试)
如果您想知道我从哪里得到这个示例表单:请查看pybtex源代码的
tests/
子目录。上面的代码示例主要来自tests/database_test/data.py
。如果缺少实际的文档,测试可以是一个很好的文档来源。在一。data.add_条目(钥匙,入口)对我有用。这里我使用了一个手动创建的条目(取自Evert的例子),但是您可以从另一个正在解析的bib中复制现有条目。在
相关问题 更多 >
编程相关推荐