1.加载包
import os
2.定义函数:获取文件夹file_dir下指定类型file_type的所有文件名
def file_name(file_dir,file_type=''):#默认为文件夹下的所有文件
lst = []
for root, dirs, files in os.walk(file_dir):
for file in files:
if(file_type == ''):
lst.append(file)
else:
if os.path.splitext(file)[1] == str(file_type):#获取指定类型的文件名
lst.append(file)
return lst
函数中需要的参数:文件夹路径file_dir和待筛选的文件类型file_type根据自己的实际情况设定。如:
file_dir = 'D:\CNKI E-Study\Literature\'
file_type = '.caj'
3.获取文件夹file_dir下指定类型file_type的所有文件名,并打印结果
files =file_name(file_dir,file_type)
print(files)
#将结果保存于csv
import pandas as pd
test=pd.DataFrame(data=files)
test.to_csv(file_dir+'booklist.csv')
4.批量文件重命名:eg:a.pdf ==> 1_a.pdf
n=0
for f in files:
#设置旧文件名(就是路径+文件名)
oldname=file_dir+'\\'+f
#设置新文件名:源文件名称前加上数字编号_
f_new = str(n+1)+'_'+f
newname=file_dir+'\\'+f_new
#用os模块中的rename方法对文件改名
os.rename(oldname,newname)
# print(f,'======>',f_new)
n+=1
5.查看重命名后文件夹中指定类型文件的名称变化
files_new =file_name(file_dir,file_type)
print(files_new)
6.批量文件返回到原来的文件名(撤销重命名)
for f_now in files_new:
#设置旧文件名(就是路径+文件名)
oldname=file_dir+'\\'+f_now
#设置新文件名
f_org=''.join(f_now.split('_')[1:])#list元素拼接成字符串
newname=file_dir+'\\'+f_org
#用os模块中的rename方法对文件改名
os.rename(oldname,newname)
# print(f_now,'======>',f_org)
7.查看撤销重命名后原来的名
files_org =file_name(file_dir,file_type)
print(files_org)