python不同后缀文件存入不同文件夹

将不同后缀文件拷贝到不同文件夹,src(类型str)为原文件名称,dst(类型str)为新建的两个不同文件夹

def split_file(src,dst1,dst2):
    import os
    import shutil
    '''
    函数作用:将不同文件中不同后缀的文件拷贝到不同文件夹
    example:区分jpg和png
    src:str-原文件路径
    dst:str-分类后文件路径
    '''
    #区分jpg和png
    jpg = []
    png = []
    for f in os.listdir(src):
        if f.endswith('.jpg'):		#根据后缀名不同,自己修改
            jpg.append(f)
        elif f.endswith('.png'):	#根据后缀名不同,自己修改	
            png.append(f)
    #创建目标文件夹
    if not os.path.isdir(dst1):
        os.mkdir(dst1)
    if not os.path.isdir(dst2):
        os.mkdir(dst2)   
    
    #激活重命名功能时,根据需要修改此处
    #m=0				#将单个文件夹内相同后缀文件,存入两个文件夹时,激活该语句初始化						
    #n=0				#将单个文件夹内相同后缀文件,存入两个文件夹时,激活该语句初始化
    
    #m=len(os.listdir(dst1))	#将多个文件夹内相同后缀文件,存入两个文件夹时,激活该语句初始化
    #n=len(os.listdir(dst2))	#将多个文件夹内相同后缀文件,存入两个文件夹时,激活该语句初始化	
    
    #拷贝文件到目标文件夹    
    for j in jpg:
        _jpg = os.path.join(src, j)
        shutil.copy(_jpg, dst1)
    for p in png:
        _png = os.path.join(src, p)
        shutil.copy(_png, dst2)
    #如果需要进行文件重命名,则激活以下函数
    '''
    jpg_new_name="j_" 	#重命名文件名称为j_m,可根据自己需要修改
    png_new_name="p_" 	#重命名文件名称为p_n,可根据自己需要修改
    for j in jpg:
        m=m+1
        _jpg = os.path.join(dst1, j)
        os.renames(_jpg,os.path.join(dst1, jpg_new_name+str(m)+".jpg"))
    for p in png:
        n=n+1
        _png = os.path.join(dst2, p)
        os.renames(_png,os.path.join(dst2,png_new_name+str(n)+".png"))'''

应用:(将重命名函数激活,初始化语句也激活)

split_file("11","JPG","PNG")
split_file("22","JPG","PNG")
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,如果您需要将解压缩后的文件存入指定的文件夹,可以在代码添加一些额外的操作。下面是一个示例代码: ```python import tarfile import os # 文件夹的路径和目标文件夹的路径 folder_path = '/path/to/folder' target_folder = '/path/to/target/folder' # 遍历文件夹的所有文件 for file_name in os.listdir(folder_path): # 判断文件是否为.tar文件 if file_name.endswith('.tar') or file_name.endswith('.tar.gz'): # 解压tar文件 with tarfile.open(os.path.join(folder_path, file_name), 'r:*') as tar: tar.extractall() # 移动解压缩后的文件到指定文件夹 extracted_folder = file_name[:-4] # 去掉'.tar'或'.tar.gz'后缀 os.makedirs(os.path.join(target_folder, extracted_folder), exist_ok=True) for extracted_file in os.listdir(extracted_folder): os.rename(os.path.join(extracted_folder, extracted_file), os.path.join(target_folder, extracted_folder, extracted_file)) os.rmdir(extracted_folder) # 删除解压文件夹 ``` 以上代码会遍历指定文件夹的所有文件,如果文件名以'.tar'或'.tar.gz'结尾,则使用tarfile模块进行解压缩操作。解压缩后的文件会存储在当前目录。然后,代码会新建一个与解压缩后的文件名相同的文件夹,并将解压缩后的文件移动到该文件夹。最后,代码会删除解压缩后的临时文件夹。注意,代码的'exist_ok=True'参数表示如果目标文件夹已经存在,则不会抛出异常。如果您希望在目标文件夹已经存在时抛出异常,则可以将该参数去掉。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值