python脚本处理--批量压缩解压文件(zip、rar) / 读取txt文件并在txt每行文件后面增加内容

一、批量压缩、解压文件

 os库是为了监测生成的文件夹是否已存在。主要的库是zipfile,它提供了有关windows下的文件/文件夹的压缩、解压的函数。

压缩、解压函数及整体代码如下:


import os
import zipfile
 
 
def Compress_path_zip(path_all):
    path_all_list = os.listdir(path_all)
    # 列出总文件夹内所有需要压缩的文件夹
    for path_each in path_all_list:
        path_compress = os.path.join(path_all, path_each)
        # 待压缩的绝对路径
        if os.path.isdir(path_compress):
            print("正在压缩:%s" % path_each)
            # 遍历所有需要压缩的文件夹
            if os.path.exists(path_all + "%s.zip" % path_each):
                print(path_all + "%s1.zip" % path_each+"已存在,新文件名为'%s'" % (path_all + "%s1.zip" % path_each))
                zip_file = zipfile.ZipFile(path_all + "%s1.zip" % path_each, 'w', zipfile.ZIP_DEFLATED, allowZip64=True)
                # 创建的压缩对象用于执行后续操作
                # file_list = zip_file.namelist()
                # 列出压缩文件夹中所有文件
            else:
                zip_file = zipfile.ZipFile(path_all + "%s.zip" % path_each, 'w', zipfile.ZIP_DEFLATED, allowZip64=True)
            file_list = os.listdir(path_compress)
            # 待压缩文件夹内所有文件
            # zip_file.setpassword(b'123')
            for file_each in file_list:
                # 遍历所有文件夹内的文件
                file_path = os.path.join(path_compress, file_each)
                zip_file.write(file_path, file_each)
            zip_file.close()
        else:
            print(path_each, "不是文件夹,不进行压缩")
            continue
 
 
def Decompress_path_zip(path_all):
    path_all_list = os.listdir(path_all)
    for path_each in path_all_list:
        # 遍历所有需要压缩的文件夹
        if path_each.endswith('.zip'):
            print("正在解压:%s" % path_each)
            path_decompress = os.path.join(path_all, path_each)
            zip_file = zipfile.ZipFile(path_decompress, 'r')  # 压缩文件位置
            for file in zip_file.namelist():
                if os.path.exists(path_decompress[:-4]):
                    print("'%s'" % path_decompress[:-4], "已存在,新文件名为'%s'" % (path_decompress[:-4] + "1"))
                    zip_file.extract(file, path_decompress[:-4] + "1")  # 解压位置,pwd="1234".encode('utf-8')
                else:
                    zip_file.extract(file, path_decompress[:-4])  # 解压位置
            zip_file.close()
        else:
            print(path_each, "非zip文件,不进行解压!")
            continue
 
 
if __name__ == "__main__":
    path = "./241012-ID/"
    # Compress_path_zip(path)
    Decompress_path_zip(path)

二、读取txt文件并在txt每行文件后面增加内容

label=2

ff = open('./10-12-1.txt','w')  #打开一个文件,可写模式
with open('./10-12.txt','r') as f:  #打开一个文件只读模式
    line = f.readlines()
    i = 0
    for line_list in line:
        line_new =line_list.replace('\n',',')  #将换行符替换为空(''),逗号
        b = str(label) #主要是这一步 将之前列表数据转为str才能加入列表
#        line_new = line_new +'.jpg '+b +'\n'    # 每行添加 .jpg 2 (可随意更改)
        line_new = line_new +'\n'    # 只加逗号
        i += 1
        print(line_new)
        ff.write(line_new) #写入一个新文件中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ghx3110

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值