Я пытаюсь написать скрипт, который очищает и сохраняет записи bibtex в моем библиотечном файле. Мне нужен скрипт, чтобы прочитать файл .bib и затем записать его содержимое в файл библиотеки, но исключая определенные поля / строки. Я пробовал такие вещи, как помещать каждое поле, которое я хочу исключить, в
exclusions = ["exclusion1","exclusion2","exclusion3",..."exclusionN"]
, а затем циклически повторять его так, как это было
if [ex for ex in exclusion not in line]:
...code...
Но это не сработало, так что в конце концов я согласился с этим
...
with open("newbib.bib", "a") as f1:
for line in lines:
if "abstract" not in line and "keywords" not in line and "issn" not in line and "ISSN" not in line and "url" not in line and "URL" not in line and "eprint" not in line and "publisher" not in line and "address" not in line and "number" not in line and "day" not in line and "month" not in line and "pages" not in line:
f1.writelines(line)
...
Утверждение if, которое я показываю ниже, помогает, но это чертовски плохой способ сделать это, верно? Кроме того, было бы неплохо не добавлять заглавные буквы для каждого поля.