小编Aol*_*ola的帖子

Python - 压缩文件时出错,'L'格式需要0 <= number <= 4294967295

我运行此代码来压缩文件夹和文件.

def save_folder_as_zip(self, folder_to_zip, save_as):
    zipf = zipfile.ZipFile(str(save_as), mode="w", allowZip64=True)
    self.create_zip(zipf, folder_to_zip)
    zipf.close()

    return zipf

def create_zip(self, zipf, directory, folder=""):

    directory = directory.encode("utf-8")

    for item in os.listdir(directory):
        if temp_folder == directory + os.sep:
            continue

        try:
            if os.path.isfile(os.path.join(directory, item)):
                zipf.write(os.path.join(directory, item), folder + os.sep + item)
            elif os.path.isdir(os.path.join(directory, item)):
                self.create_zip(zipf, os.path.join(directory, item).decode("utf-8"), folder + os.sep + item)
        except Exception, e:
            self.schedule.machine.log_warning(str(e))
Run Code Online (Sandbox Code Playgroud)

但后来我得到了这个错误:

'L' format requires 0 <= number <= 4294967295
Run Code Online (Sandbox Code Playgroud)

发生这种情况的文件名示例:

/[Wii]TrackMania[PAL][WiiSOS.com]/ws_tramap.iso
Run Code Online (Sandbox Code Playgroud)

我有什么想法可以解决这个问题?

追溯:

Traceback (most recent call last):
File "test.py", …
Run Code Online (Sandbox Code Playgroud)

python zip filenames

9
推荐指数
1
解决办法
3751
查看次数

标签 统计

filenames ×1

python ×1

zip ×1