Python 重命名zip文件中的文件

Python 重命名zip文件中的文件,python,batch-file,zipfile,file-rename,batch-rename,Python,Batch File,Zipfile,File Rename,Batch Rename,我正在尝试编写一个python脚本来重命名文件(包含一个预定义字符串和另一个预定义字符串)。 如何重命名zip文件中的文件和文件夹,而不提取zip文件(因为它可能非常大) 在Python中,如果不解压缩压缩的归档文件,就无法修改它。假设您在linux上,我认为可以解决您的问题的一种方法是用Python执行bash脚本,该脚本使用vim透明地编辑归档文件: 资料来源: 在python中修改zip文件: 从python执行bash脚本: 使用vim编辑zip存档:请向我们展示一些代码、您已经做了什么

我正在尝试编写一个python脚本来重命名文件(包含一个预定义字符串和另一个预定义字符串)。 如何重命名zip文件中的文件和文件夹,而不提取zip文件(因为它可能非常大)


在Python中,如果不解压缩压缩的归档文件,就无法修改它。假设您在linux上,我认为可以解决您的问题的一种方法是用Python执行bash脚本,该脚本使用vim透明地编辑归档文件:

资料来源:
在python中修改zip文件:
从python执行bash脚本:

使用vim编辑zip存档:

请向我们展示一些代码、您已经做了什么以及您遇到了什么错误。因此,这不是一个你放弃请求而其他人为你解决请求的地方。@codedge的副本更新了我试图执行的代码
import os
import zipfile
old_name="ABCD"
new_name="XYZ"

for d,s,files in os.walk(path):
 for f in files:
   if f.startswith(old_name) and f.endswith('.zip'):
     with zipfile.ZipFile(f,'a') as zf:
       for files_inside_zip in zf.namelist():
        if files_inside_zip.startswith(old_name):
          ## Now I need to rename only this particular file
          ## some files are larger than 1 GB
          ## and contains 1000+ files
          ## so extracting all doest seems to be a good idea

     zf.close