我有一个 python 脚本,可以将特定文件压缩到 zip 文件中。但是我注意到这个 zip 文件中生成了一个文件“.DS_Store”。有没有办法可以从 zip 文件中删除它,或者避免它首先在我的 python 脚本中创建。根据我在网上找到的信息,我认为在 Windows 计算机上此隐藏文件显示为“macosx”文件。
我已经测试了带有和不带有“.DS_Store”隐藏文件的 zip 文件(我手动删除了它)。当我删除它时,zip 文件能够被正确处理,当我保留它时,会抛出错误。
这就是我在 python 脚本中创建 zip 文件的方法:
#Create zip file of all necessary files
zipf = zipfile.ZipFile(new_path+zip_file_name, 'w', zipfile.ZIP_DEFLATED)
create_zip(new_path,zipf)
zipf.close()
任何有关如何删除此隐藏文件的建议将不胜感激。
最佳答案
您的代码使用了函数 create_zip,但您尚未共享该函数的代码。据推测,它会循环访问目录的内容并调用 ZipFile 实例的 .write 方法,以便将每个文件写入存档中。如果是这种情况,只需向该函数添加一些逻辑即可排除任何名为 .DS_Store 的文件。
def create_zip(path, zipfile):
files = os.listdir(path)
for file in files:
if file != '.DS_Store':
zipfile.write(file)
关于python - Python压缩文件时如何排除 ".DS_Store"路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37030635/