if __name__ == '__main__':
path = r'D:\\Rexel数据\\HTML\\' # 文件夹目录
files_names = os.listdir(path) # 得到文件夹下所有的文件名
for file_name in files_names: # 遍历得到的文件名
# 拼接文件路径,得到每一个文件的具体路径:D:\\Rexel数据\\HTML\\AAA196.html
everyFile = os.path.join(path, file_name)
with open(everyFile,'rb') as f:
# 操作
一 获取多层级目录下的文件
需求:获取多层级目录下的文件名,用字典方式保存一级目录名、二级目录名、三级文件名
一级目录(文件夹):
二级目录(文件夹):
三极目录(里面是文件):
目录层次:
-AAA046
--left_img
---20201013141526260_S.jpg
即:AAA046\left_img\20201013141526260_S.jpg
代码:
#!usr/bin/env python
# -*- coding:utf-8 -*-
import os
if __name__ == "__main__":
path = r"D:\Rexel数据\TEST"
# path 表示当前正在访问的文件夹路径
# dir_list 表示该文件夹下的子目录名list
# file_list 表示该文件夹下的文件list
# 打开文件:一级目录 AAA046
dirs_1 = os.listdir(path)
# dir_1 AAA046
for dir_1 in dirs_1:
# children_path:一级目录路径 D:\Rexel数据\TEST\AAA046
children_path = path + '\\' + dir_1
# dirs_2 ['brand_authorization_img', 'left_img', 'notices_img', 'overview_img', 'pro_applications_img', 'pro_description_img', 'pro_detail_img', 'pro_selection_data_img', 'pro_specifications_img']
dirs_2 = os.listdir(children_path)
img_dic = {}
img_dic['order_num'] = dir_1
for dir_2 in dirs_2:
# children_1_path:二级目录路径 D:\Rexel数据\TEST\AAA046\brand_authorization_img
children_1_path = children_path + '\\' + dir_2
# dirs_3 是children_1_path下面所有文件名list
dirs_3 = os.listdir(children_1_path)
img_dic[dir_2] =dirs_3
with open(r'D:\Rexel数据\img_relation.csv','a+',encoding='utf-8') as f:
f.write(str(img_dic) + '\n')
- 每访问一级目录就创建一个img_dic字典,每访问一次二级目录就将二级目录名以及二级目录下面的文件名list加入字典中,这样每个订货编码就有一对应的图片对应信息
最终字典格式:
# 最终字典格式
{
'order_num': 'AAA198',
'brand_authorization_img': ['MRa%2BzdNFExKiYCWTTcdTwtkz5M35izotiu0aDZXJu6g%3D%3AaWg0OHRzZGxnUFBZU2FBUg%3D%3D.jpg'],
'left_img': ['20180921104125341_S.jpg'],
'notices_img': ['rGA2%2FPrSYfdSS%2FwYqakgWkUw5d4I6FmX25DFCzFskVs%3D%3AaWg0OHRzZGxnUFBZU2FBUg%3D%3D.jpg'],
'overview_img': ['PlVPoiyDFWqlhqSoWUiGmKPjtuEEKtdZ4IgXu65jpnc%3D%3AaWg0OHRzZGxnUFBZU2FBUg%3D%3D.jpg'],
'pro_applications_img': ['PlVPoiyDFWqlhqSoWUiGmDW8WXdhslGnXr06XYUzPVg%3D%3AaWg0OHRzZGxnUFBZU2FBUg%3D%3D.jpg'],
'pro_description_img': ['PlVPoiyDFWqlhqSoWUiGmBqgkw0kq46DNgAE81wY%2F4c%3D%3AaWg0OHRzZGxnUFBZU2FBUg%3D%3D.jpg'],
'pro_detail_img': ['PlVPoiyDFWqlhqSoWUiGmNzmn%2F3h4YeMJMMWF8dcWe0%3D%3AaWg0OHRzZGxnUFBZU2FBUg%3D%3D.jpg'],
'pro_selection_data_img': ['rGA2%2FPrSYfdSS%2FwYqakgWilBsJbWjzANWbCirUPDc5c%3D%3AaWg0OHRzZGxnUFBZU2FBUg%3D%3D.jpg', 'rGA2%2FPrSYfdSS%2FwYqakgWu225FqvYIYphSdBBuQJyOY%3D%3AaWg0OHRzZGxnUFBZU2FBUg%3D%3D.jpg'],
'pro_specifications_img': ['PlVPoiyDFWqlhqSoWUiGmItUOSmbhtHKgB75%2BLRBWJQ%3D%3AaWg0OHRzZGxnUFBZU2FBUg%3D%3D.jpg']
}