import os
import re
import shutil
from os.path import isdir
listnum = 0 #计数器
def get_items(path, direct_file, level=0,subindex=''):
'''
:param path: 文件路径,输入要处理的文件夹
:param direct_file: 用于把找到的文件存起来的路径
:param level: 递归层级
:param subindex: 序号
:return: 该文件自己的编号
'''
global listnum
dirs = os.listdir(path) #获取所有的子文件夹和子文件夹
subpath = [os.path.join(path, dir) for dir in dirs] #得到所有的地址
for index,each_item in enumerate(subpath):
if isdir(each_item):
get_items(each_item,direct_file=direct_file, level=level+1,subindex = subindex+str(index)+'、')
else:
basename = os.path.basename(each_item)#文件的名字
if re.match(r'^\w+(\.pdf)$',basename) is not None:
# 匹配以 .pdf结尾的所有文件
newname = str(subindex) +'_'+basename
# 重命名可以重写
direct_file_name = os.path.join(direct_file,newname)
shutil.copyfile(each_item,direct_file_name)
listnum+=1
if __name__ == '__main__':
'''
'''
path = os.getcwd()
direct_file = './pdfs/'
if not os.path.exists(direct_file):
os.mkdir(direct_file)
get_items(path, direct_file, level=1)