python3统计目录下的一级或多级子目录的文件或图片,并写入文件中

使用场景:运维处理指定目录一级或多级子目录下的大量文件或图片名,需要将这些目录及文件名作为字符串写入文件中。

实例1:统计指定目录下的文件,并将文件名写入文件中

import os
import imghdr
path = "D:/curl/"                 # 文件夹路径
filename_list = os.listdir(path)  # 获取文件夹路径下的所有目录及文件名
path1 = './bb/'
num = 0
fb = open('./bb.txt', 'w')
for i in range(len(filename_list)):  # 打印文件路径下的目录及文件名称
    new_path = os.path.join(path1, filename_list[i])  # 把目录和文件名合成一个路径
    if imghdr.what(filename_list):   # 判断是否为文件
        num +=1
        fname = new_path.split('/')[-1]
        fb.write(fname + '\n')
fb.close()
print(num)

实例2:统计指定目录多级子目录下的文件或图片,并将文件名写入文件中

import os

outer_path = 'D:/curl/'
folderlist = os.listdir(outer_path)  # 列举文件夹
file_list = []
write_file = open('./bb/aa.txt', 'a')
for root, dirs, files in os.walk(outer_path):
    # print(root) #当前目录路径
    # print(dirs) #当前路径下所有子目录
    #print(files) #当前路径下所有非目录子文件
    if files:
        list1 = str(files)
        write_file.write(list1 + '\n')
write_file.close()
#print(file_list)

实例3:将指定目录的.jpg图片名称写入.txt文件中

import os
data_base_dir = "D:/curl/rym2//"          #存放原始图片地址
file_list = []   
write_file_name = 'D:/curl/bb.txt'        #读取图片文件,并将图片地址、图片名和标签写到txt文件中
write_file = open(write_file_name, "w") 
for file in os.listdir(data_base_dir):    #file为current_dir当前目录下图片名
    if file.endswith(".JPG"):             #如果file以jpg结尾
        write_name = file.split('/')[-1]  #图片路径 + 图片名 + 标签
        file_list.append(write_name)      #将write_name添加到file_list列表最后
        # sorted(file_list)               #将列表中所有元素随机排列
number_of_lines = len(file_list)          #列表中元素个数

for current_line in range(number_of_lines): #将图片信息写入txt文件中,逐行写入
    write_file.write(file_list[current_line] + '\n')
write_file.close()

#print(number_of_lines)
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值