python科研向论文检索篇——提取目录树下所有名称含有关键字的文件
作者:ruierx
项目背景
平时看论文用zotero神器,很好用,强烈推荐!
但是,遇到了一点小问题,比如我有一个需求——本地检索论文全文中存在的关键字(项目:python科研向论文检索篇——提取PDF文字以供全文信息检索)
另一个需求——批量提取pdf论文中的图片(待完成)
这个时候,zotero存储文件的方式就不那么方便了,所以用一个很简单的小程序,批量复制PDF文件到目标路径,这样PDF论文在一个文件夹中就很方便后续使用了。
另外设置为可输入关键字,这样以后可以将该程序用于其他用途。
代码
import os
import shutil
def select_file(path, keyword):
file_list = []
for filepath, dirnames, filenames in os.walk(path):
for filename in filenames:
if keyword in filename:
file = os.path.join(filepath, filename)
file_list.append(file)
return file_list
def copy_file(file_list):
for file in file_list:
filename = file.split('\\')[-1]
shutil.copyfile(file, f'./{keyword}/{filename}')
print(f"正在处理 --- {filename}")
if __name__ == '__main__':
path = os.getcwd()
keyword = input("请输入关键词:")
file_list = select_file(path, keyword)
while 1:
print("是否保存结果?")
s = input('yes/no------>')
if s == 'yes':
break
elif s == 'no':
os.system('exit')
else:
print('输入错误,重新输入!')
if not os.path.exists(f"./{keyword}"):
os.mkdir(f"./{keyword}")
copy_file(file_list)
print("处理完毕!")