python - Os.system() - 更改 zip 命令为不同的日期时间提供不同的文件名

标签 python zip os.system

我正在尝试压缩一个目录,并将日期时间戳添加到创建的 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/

相关文章:

python - 获取命令的退出代码

python - 如何通过python使用智能手机的各种蓝牙服务?

python - pandas 面板数据的百分比变化

使用 .NET ZipFile.CreateFromDirectory 时,Powershell 脚本使用用户的主目录作为当前工作目录。怎么修?

python - 使用 `subprocess.call' 和 `shell=True' 运行命令时不执行 Shell 扩展

Python os.system 调用慢约 1/2 秒

python - 如何在 Pony ORM 中从 Set() 中仅获取一张图像

python - NumPy 的 lapack 导入错误

bash - 压缩 I/O 错误 : No such file or directory in bash script

c# - 从内存中的 List<Byte[]> 创建 Zip 文件