我正在尝试压缩一个目录,并将日期时间戳添加到创建的 zip 文件夹中。我该怎么做呢?我尝试过这样的事情:
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")
这有效,但没有日期时间戳:
# 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.6+,则可以使用 formatted string literals :
name = f"{dt}folder.zip"
command = f"zip -r {name} /home/olb/CPL"
与使用 +
处理引号和连接相比,这更容易处理.
关于python - Os.system() - 更改 zip 命令为不同的日期时间提供不同的文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60513768/