This is my existing code to zip a folder which I have put together mostly from help on here:
#!/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:])
If I wanted to remove the zip file I just created at the end of the opperation, would the best command be this?
os.remove.join(temp_dir, now+".zip")
The
os.remove(os.path.join(temp_dir, now + ".zip"))will be fine.However, you should ensure that it is executed properly in every case you want it to.
If it is to be removed in any case, you could do
But in this case, you could as well use the
tempfilemodule:If, however, you want it to be gone only under special circumstances (on success, on error, …) you are stuck with
os.remove(os.path.join(temp_dir, now+".zip"))and you should use it whenever the file is to be deleted.