无法理解这个简单的python备份程序

时间:2014-08-03 17:34:28

标签: python

我是一名新手程序员,我开始阅读A Byte of Python。本书的第一个问题是需要解决以下问题的程序:“创建所有重要文件的备份”。这是该计划的设计:

要备份的文件和目录在列表中指定。

备份必须存储在主备份目录中。

将文件备份到zip文件中。

zip存档的名称是当前日期和时间。

这是实施:

    import os

    import time

    source = ['/Users/swa/notes']

    target_dir = '/Users/swa/backup'

    target = target_dir + os.sep + \
             time.strftime('%Y%m%d%H%M%S') + '.zip'

    if not os.path.exists(target_dir):
        os.mkdir(target_dir)

    zip_command = "zip -r {0} {1}".format(target,
                                          ' '.join(source))

    print "Zip command is:"

    print zip_command

    print "Running:"

    if os.system(zip_command) == 0:
        print 'Successful backup to', target
    else:
        print 'Backup FAILED'

我不明白

    target = target_dir + os.sep + \
             time.strftime('%Y%m%d%H%M%S') + '.zip'
    if not os.path.exists(target_dir):
        os.mkdir(target_dir)
    zip_command = "zip -r {0} {1}".format(target,
                                          ' '.join(source)) 

一部分。我已经搜索了python文档,以了解os.sep和os.mkdir以及time.strftime ...是什么,但如果有人能够向我解释这一切,我将非常感激

1 个答案:

答案 0 :(得分:1)

os.sep是一个独立于平台的文件分隔符字符串。具体来说,在Windows上它是' \'在其他操作系统上,它是' /'。

os.mkdir从给定路径创建目录。如果文件或目录已存在,则会引发异常。

time.strftime('%Y%m%d%H%M%S')将时间日期时间格式化为格式为%Y的字符串替换为四位数年份,%m是月份作为整数,%d是月份的日期,%H是小时, %M是分钟,%S是秒。