gpt4 book ai didi

python - 使用 Python 将文件列表添加到 zip 文件中

转载 作者:太空狗 更新时间:2023-10-29 18:00:14 24 4
gpt4 key购买 nike

我想编写一个脚本来将所有“.py”文件添加到一个 zip 文件中。

这是我的:

import zipfile
import os

working_folder = 'C:\\Python27\\'

files = os.listdir(working_folder)

files_py = []

for f in files:
if f[-2:] == 'py':
fff = working_folder + f
files_py.append(fff)

ZipFile = zipfile.ZipFile("zip testing.zip", "w" )

for a in files_py:
ZipFile.write(a, zipfile.ZIP_DEFLATED)

但是它给出了一个错误:

Traceback (most recent call last):
File "C:\Python27\working.py", line 19, in <module>
ZipFile.write(str(a), zipfile.ZIP_DEFLATED)
File "C:\Python27\lib\zipfile.py", line 1121, in write
arcname = os.path.normpath(os.path.splitdrive(arcname)[1])
File "C:\Python27\lib\ntpath.py", line 125, in splitdrive
if p[1:2] == ':':
TypeError: 'int' object has no attribute '__getitem__'

看来给定的文件名不正确。

最佳答案

您需要将压缩类型作为关键字参数传入:

ZipFile.write(a, compress_type=zipfile.ZIP_DEFLATED)

如果没有关键字参数,您将给 ZipFile.write() 一个整数 arcname 参数,这会导致您看到的错误 arcname 正在规范化。

关于python - 使用 Python 将文件列表添加到 zip 文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25544475/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com