批量重命名多个子目录下图片名称

批量重命名多个子目录下图片名称

目录示例

  • 2019-9-20
    • 大坨头
      • 1_0_1.jpg
      • 1_0_2.jpg
      • 1_0_3.jpg
    • 前丞相
      • 2_0_1.jpg
      • 2_0_2.jpg
      • 2_0_3.jpg
    • 莱茵家园
      • 3_3_19.jpg
      • 3_4_20.jpg

重命名之后(地名对应的编号_照片排序编号_根目录时间)

  • 2019-9-20
    • 大坨头
      • 001_001_20190920.jpg
      • 001_002_20190920.jpg
      • 001_003_20190920.jpg

Python源码

# coding=gbk
#重命名格式:摄像头编号+文件夹内照片排序+文件夹所在的时间
#名字格式:003_001_20190920
import os
import sys
def Rename( ):
    list=[]
    m = 0
    k = 0
    lastname = "_20190920"  # 照片末尾名称
    startNumber = 1
    fileType = ".jpg"
    f = open("C:\\Users\\Administrator\\Desktop\\1.txt", "r")  #摄像头信息保存在1.txt
    lines = f.readlines() 
    for line in lines:
        line = line.strip()   
        list.append(line)
    number = {}
    i = 1
    for ls in list:
        if i < 10:
            number[ls] = str("00"+str(i))  
        else:
            number[ls] = str("0"+str(i))
        i += 1
    f.close()

    #遍历读取文件名
    path = input("请输入路径(例如D:\\\\picture):")
    filelist = os.listdir(path)
    print("该时间内文件夹个数:" + str(filelist.__len__()) + "个,名称如下:")
    for filename in filelist:          
        for placename in sorted(number.keys()):
            if filename == placename:
                print(filename)
                path1 = str(path)+str("\\")+str(filename)
                count = 0
                subfilelist = os.listdir(path1)  
                for files in subfilelist:
                    Olddir = os.path.join(path1, files)
                    if os.path.isdir(Olddir):
                        continue
                    Newdir = os.path.join(path1,number[placename] + "_" + str("00" + str(count + int(startNumber))) + lastname + fileType)
                    os.rename(Olddir, Newdir)
                    count += 1
                    m += 1
        k += 1
    print("\n一共修改了" + str(k) + "个文件夹," + str(m) + "张照片")

Rename()
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 批量多个文件夹提取文件并自动将其合成为PDF可以通过以下步骤实现: 1. 确定文件夹的路径:首先要确定包含需要提取文件的多个文件夹的路径。可以使用Python的os模块的方法来获取文件夹的路径。 2. 遍历文件夹:使用Python的os模块的walk方法来遍历每个文件夹的文件。这将返回一个包含文件夹路径、子文件夹列表和文件列表的三元组。 3. 找到需要的文件:遍历每个文件夹的文件列表,并根据需要的文件类型(如.doc、.txt等)来筛选需要的文件。将这些文件的路径保存到一个列表。 4. 合成PDF文件:使用Python的PyPDF2或reportlab等库来将筛选出的文件按顺序合成为一个PDF文件。可以先创建一个空的PDF文件,然后依次将每个文件内容插入到该PDF文件。 5. 保存合成的PDF文件:将合成的PDF文件保存到指定的位置。可以使用Python的os模块的方法来创建新的文件夹或将文件保存到已存在的文件夹。 6. 批量处理:使用循环结构,将上述过程应用到每个文件夹的文件,实现批量处理多个文件夹。 需要注意的是,以上步骤是基于使用Python编程语言实现的。在实际操作,可以根据具体需求进行修改和优化。同时,需要安装相应的Python库来处理文件和PDF操作。 ### 回答2: 要批量多个文件夹提取文件并自动合成pdf,可以使用以下步骤: 1. 首先,确定需要提取文件的文件夹的位置和名称。可以使用Python编程语言来实现这一步骤。 2. 使用Python的os模块,遍历每个文件夹,并获取每个文件夹的文件列表。可以使用os.listdir()来获取文件夹的文件。 3. 对于每个文件夹的文件列表,筛选出想要提取的文件。可以根据文件的扩展名进行筛选,例如只提取.doc或.pdf文件。 4. 创建一个新的pdf文件,并将筛选出的文件依次插入到pdf。可以使用Python的PyPDF2模块来实现这一步骤。 5. 最后,保存合成的pdf文件。可以将合成的pdf文件保存到指定的位置和名称。 整个过程的代码示意如下: ```python import os from PyPDF2 import PdfWriter, PdfReader # 定义文件夹位置 folder_path = "文件夹路径" # 定义输出pdf文件的位置和名称 output_pdf = "输出pdf路径和名称.pdf" # 创建PdfWriter对象 pdf_writer = PdfWriter() # 遍历每个文件夹 for folder_name in os.listdir(folder_path): folder = os.path.join(folder_path, folder_name) # 遍历每个文件夹的文件列表 for file_name in os.listdir(folder): file_path = os.path.join(folder, file_name) # 筛选出需要的文件类型 if file_name.endswith(".doc") or file_name.endswith(".pdf"): # 读取文件内容 with open(file_path, "rb") as file: file_content = file.read() # 将文件内容添加到pdf pdf_writer.addPage(PdfReader(file_content).pages[0]) # 保存合成的pdf文件 with open(output_pdf, "wb") as output: pdf_writer.write(output) ``` 以上代码通过Python实现了从多个文件夹提取文件并自动生成pdf的功能,可以根据实际需求进行相应的修改。 ### 回答3: 要批量多个文件夹提取文件并自动合成pdf,可以按照以下步骤进行操作: 1. 选择一个适合的编程语言,如Python,作为自动化工具的开发语言。 2. 使用Python的相关库,如os库,来遍历指定的文件夹。这可以通过编写递归函数来实现,该函数可以深度优先遍历文件夹及其子文件夹。 3. 对于每个文件夹,检查每个文件的类型。只选择需要合并为pdf的文件,如文本文件、图像文件等。 4. 使用Python的相应库,如PyPDF2或reportlab,通过将文件转换为pdf格式来合成pdf文件。 5. 创建一个pdf文档对象,然后将每个文件按顺序插入到该文档。 6. 对于文件名相同但位于不同文件夹下的文件,可以根据文件路径进行重命名或添加文件夹标识,以避免重复。 7. 最后,保存合成的pdf文件到指定的文件夹,可以使用Python的os库来处理文件路径和目录。 8. 可以设置一个定时任务或者循环监测文件夹的变化,从而实现自动化操作的批处理。 总结起来,实现批量多个文件夹提取文件并自动合成pdf的关键是遍历文件夹、选择需要合并的文件、将文件转换为pdf格式,并将它们合成一个pdf文档。这些步骤可以使用Python等编程语言的相关库来实现自动化操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值