Python 重命名zip文件中的文件
我正在尝试编写一个python脚本来重命名文件(包含一个预定义字符串和另一个预定义字符串)。 如何重命名zip文件中的文件和文件夹,而不提取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中,如果不解压缩压缩的归档文件,就无法修改它。假设您在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