【发布时间】:2020-07-29 01:53:32
【问题描述】:
压缩文件夹中的所有文件(包括子文件夹中的文件),改编自 here 的脚本工作正常:
import zipfile
import os, sys
def zipfolder(filename, target_dir):
zipobj = zipfile.ZipFile(filename, 'w', zipfile.ZIP_DEFLATED)
rootlen = len(target_dir)
for base, dirs, files in os.walk(target_dir):
for file in files:
fn = os.path.join(base, file)
zipobj.write(fn, fn[rootlen:])
zipfolder('C:\\TEMP\\temp.zip', 'C:\\TEMP\\f_with_3_subs\\')
sys.exit()
现在我想将文件限制为小于 2 兆字节,我在 for 循环后添加了一行,但它不起作用:
for base, dirs, files in os.walk(target_dir):
for file in files:
if os.stat(base + file).st_size < 2048 * 1000:
......
错误信息:
FileNotFoundError: [WinError 2] The system cannot find the file specified
文件名好像有点乱。
纠正它的正确方法是什么?谢谢。
【问题讨论】:
标签: python loops file directory zip