批量读取文件夹中的文件名
问题:批量读取文件夹中文件名
方法1 Windows批处理方法
在文件夹下新建一个txt文本文档,写入:
DIR *.* /B >LIST.TXT
保存后修改文件名后缀为.bat,双击运行后,文件夹中即会出现一个新的LIST.TXT文本文档,里面有文件名信息(注意:排序与文件夹中的排序不一定一致)
方法2 利用Python读取
import os
path="***文件夹路径***" #待读取的文件夹
path_list=os.listdir(path)
path_list.sort() #对读取的路径进行排序
for filename in path_list:
print(os.path.join(path,filename)) #path为路径,可以去掉,只显示文件名
方法3 读取文件夹中包含子文件夹中的所有文件,保存于Excel表中
import os
import re
import xlwt
def check_file(file_path):
os.chdir(file_path)
print(os.path.abspath(os.curdir))
all_file = os.listdir()
files = []
for f in all_file:
if os.path.isdir(f):
files.extend(check_file(file_path+'\\'+f))
os.chdir(file_path)
else:
files.append(f)
return files
file_list = check_file("***文件夹路径***") #待读取的文件夹
book = xlwt.Workbook()
sheet = book.add_sheet('文件名')
i = 0
for data in file_list:
sheet.write(i,0,data)
i += 1
book.save('文件名搜索.xls')
s = ' '.join(file_list)
res_1 = re.findall(r'\D\d{8}\D',s)
print(res_1)
“文件名搜索.xls”文件会出现在要读取的文件夹中。读取的文件顺序没有了解,也没有标注是在哪个子文件夹,建议在excel中排序。