【发布时间】:2012-11-19 23:00:06
【问题描述】:
这是我现有的压缩文件夹的代码,我主要是从这里的帮助中整理出来的:
#!/usr/bin/env python
import os
import sys
import datetime
now = datetime.datetime.now().strftime("%Y-%m-%d_%H-%M")
target_dir = '/var/lib/data'
temp_dir='/tmp'
zip = zipfile.ZipFile(os.path.join(temp_dir, now+".zip"), 'w', zipfile.ZIP_DEFLATED)
rootlen = len(target_dir) + 1
for base, dirs, files in os.walk(target_dir):
for file in files:
fn = os.path.join(base, file)
zip.write(fn, fn[rootlen:])
如果我想在操作结束时删除我刚刚创建的 zip 文件,最好的命令是这个吗?
os.remove.join(temp_dir, now+".zip")
【问题讨论】:
-
是的。如果您要多次使用它,您也可以将文件名保存在变量中,例如
filename。 -
应该是os.remove(os.path.join(...))?
-
^ 去掉单引号,然后是的,就是这样。
-
我认为他的意思是使用将某些东西标记为代码的`类型引号......
-
filename = os.path.join(temp_dir, now+".zip")。然后你可以使用zipfile.ZipFile(filename, 'w', …)和os.remove(filename)。