[英]Python code to unzip multiple zip files then rename extracted files
我试图找到 python 脚本以在文件夹中提取 3 个 zip 文件,然后删除 zip 文件并修改提取的文件名。 实际上我只需要从每个提取文件的名称中提取前 80 个字符。
如果有人可以提供帮助。 谢谢
我用下面的脚本
import zipfile,os,fnmatch, glob
path = "Directory\\"
dir_list = os.listdir(path)
counter = 1
for file in dir_list:
with zipfile.PyZipFile(path+"\\"+file,'r') as zObject:
zObject.extractall(path=path)
zObject.close()
counter +=1
os.unlink(path +file)
os.chdir("Directory\\")
for file in os.listdir():
print(file)
我可以看到解压缩和 zip 文件删除已完成,但是当我尝试重命名文件时,我可以看到以下错误,因此我无法继续下一步
文件“C:\Users\melnagga\AppData\Local\Programs\Python\Python311\Lib\zipfile.py”,第 1366 行,在 _RealGetContents 中 raise BadZipFile("File is not a zip file") zipfile.BadZipFile: File is not一个 zip 文件
对我来说,关键是将 zip 文件解压缩到其他目录,然后在新目录中重命名解压缩的文件
使用的代码如下所示:
import zipfile,os
path = "Directory_pth\\"
dir_list = os.listdir(path)
for file in dir_list:
with zipfile.PyZipFile(path+"\\"+file,'r') as zObject:
zObject.extractall(New Directory_path")
os.unlink(path +file)
zObject.close()
os.chdir("New Directory_path")
for file in os.listdir():
name, ext = os.path.splitext(file)
splitted = name.split("-")
new_name = f"{splitted[0]}_new{ext}"
os.rename(file,new_name)
感谢所有试图提供帮助的人
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.