我正在尝试将目录时间戳压缩到创建的zip文件夹中。我将如何去做呢?我已经尝试过这样的事情:
import datetime
backup_zip = True
if backup_zip:
dt = ('{:%Y%m%d_%H%M}'.format(datetime.datetime.now()))
name = dt + "folder.zip"
os.system("zip -r" + name + "/home/olb/CPL")
此方法有效,但没有日期时间戳:
# os.system("zip -r folder.zip /home/olb/CPL")
非常感谢您的帮助
您需要确保名称周围有空格。
在您当前的实现中,提供给os.system()
的参数是:
zip -r<name>/home/olb/CPL
应改为:
zip -r <name> /home/olb/CPL
最简单的解决方法是在前引号之前添加一个空格,并在后引号之后添加一个空格:
os.system("zip -r " + name + " /home/olb/CPL")
如果使用的是Python 3,则可以使用formatted string literals:
name = f"{dt}folder.zip"
command = f"zip -r {name} /home/olb/CPL"
与使用+
处理引号和串联相比,这更容易处理。
您必须像这样正确格式化命令行命令:
import datetime
import os
backup_zip = True
if backup_zip:
dt = '{:%Y%m%d_%H%M}'.format(datetime.datetime.now())
name = dt + "folder.zip"
os.system("zip -r " + name + " /home/olb/CPL")