无法理解这个简单的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 个回答
1
os.sep
是一个与平台无关的文件分隔符字符串。简单来说,在Windows系统上,它是反斜杠'\',而在其他操作系统上,它是正斜杠'/'。
os.mkdir
用来根据给定的路径创建一个新文件夹。如果这个文件夹或者文件已经存在,它会报错。
time.strftime('%Y%m%d%H%M%S')
是把时间格式化成字符串的工具。这里面,%Y代表四位数的年份,%m是月份(用数字表示),%d是这个月的日期,%H是小时,%M是分钟,%S是秒。