Bootstrap

python科研向论文检索篇——提取目录树下所有名称含有关键字的文件

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("处理完毕!")
;