我们知道,下载的文献经常名字不全等等,因此考虑以文献内部的标题将文献进行重命名
工具,Endnote,python
1.使用Endnote提取文献全名
2.直接上python代码
python3 pdfrename.py /home/xiaoyl/work title.txt 新建文件夹 #在py文件后的依次为argv1-3
#/bin/python3
#/bin/shell
import os
import re
import sys
import time
print('代码运行参考如下方式 python3 pdfrename.py pdf全名文本 pdf所在文件夹 注意文本和文件夹应该>在工作路径下\n')
time.sleep(3)
path=sys.argv[1] #工作路径
title_lists=open(os.path.join(path,sys.argv[2])).readlines() #argv[2]指通过endnote提取的文献全名名称的文本文件
file_lists=os.listdir(os.path.join(path,sys.argv[3])) #argv[3]存放pdf文献的文件夹
print('--------批量换名准备开始-------------\n')
time.sleep(3)
for file_list in file_lists:
file_str=file_list.split('.pdf')[0]
file_str=file_str.replace('_ ',': ')
for title_list in title_lists:
if file_str in title_list:
titlename=re.findall('(?<=\t).*?(?=,)',title_list)[0]
file_path=os.path.join(path,sys.argv[3])
rawname=os.path.join(file_path,file_list)
newname=os.path.join(file_path,titlename+'.pdf')
print('{:}\n--->{:}\ndone\n'.format(file_list,titlename))
os.rename(rawname,newname)
print('-----------批量换名完成--------------')