Success in life is a matter not so much of talent and opportunity as of concentration and perseverance.------C. W. Wendte
To us.
本文是学习Python 的笔记,只是记下来我认为重要的,易忘的notes,基于A byte of Python中文版Let it be!译。
-----------------------------------------
1. 续行
使用物理行尾的反斜杠表示逻辑行在下一物理行继续。
2. 将一些重要文件备份
解决问题:
- 需要备份的文件和目录由一个列表指定;
- 备份保存在主备份目录中;
- 文件备份成zip格式;
- zip保存的名称是当前的日期时间再加上注释;
- 运用标准zip命令
需要备份的文件和目录由一个列表指定,字符串里面有空格时应该用双引号。
import os
import time
# 备份的两个源文件
source = ['"C:\\Users\\Administrator\\Desktop\\python study"',
'C:\\Users\\Administrator\\Desktop\\work']
备份应该保存在主备份目录中,文件备份成一个zip文件,zip归档文件的名称是当前的日期和时间,os.sep为路径分隔符,如在
Linux、Unix 中用’/’,在windows 中用’\\’,在Mac OS 中用’:’,使用os.sep 而不是直接使用这些符号会使程序更简洁,并且能在这些系统下正常工作。
target_dir = 'E:\\Backup'
# os.sep为路径分隔符,根据不同系统分隔符不同
today = target_dir + os.sep + time.strftime('%Y%m%d')
now = time.strftime('%H%M%S')
文件备份成zip格式,文件名称加上注释。
comment = input('Enter a comment --> ')
if len(comment) == 0: # check if a comment was entered
target = today + os.sep + now + '.zip'
else:
target = today + os.sep + now + '_' +\
comment.replace(' ', '_') + '.zip'
运用标准zip命令,windows需要下载GnuWin32,将安装路径添加到path中,重新打开python文件即可。 zip_command是包含了执行命令的字符串,用 zip command转成zip,-qr 表示 quick,repeat.快速重复结合到一起。
# 检验在主备份目录中是否有以当前日期作为名称的目录
if not os.path.exists(today):
os.mkdir(today) # make directory
print('Successfully created directory', today)
# zip_command是包含了执行命令的字符串
# 用 zip command转成zip,-qr devotes quick,repeat.快速重复结合到一起
zip_command = "zip -qr {0} {1}".format(target, ' '.join(source))
完整代码:
#!/usr/bin/python
# 将所有重要文件建立备份
import os
import time
# 备份的两个源文件
source = ['"C:\\Users\\Administrator\\Desktop\\python study"',
'C:\\Users\\Administrator\\Desktop\\work']
# 字符串里面有空格时应该用双引号
# 备份应该保存在主备份目录中,文件备份成一个zip文件,zip归档文件的名称是当前的日期和时间
target_dir = 'E:\\Backup'
# os.sep为路径分隔符,根据不同系统分隔符不同
today = target_dir + os.sep + time.strftime('%Y%m%d')
now = time.strftime('%H%M%S')
# Take a comment from the user to create the name of the zip file
comment = input('Enter a comment --> ')
if len(comment) == 0: # check if a comment was entered
target = today + os.sep + now + '.zip'
else:
target = today + os.sep + now + '_' +\
comment.replace(' ', '_') + '.zip'
# 检验在主备份目录中是否有以当前日期作为名称的目录
if not os.path.exists(today):
os.mkdir(today) # make directory
print('Successfully created directory', today)
# zip_command是包含了执行命令的字符串
# 用 zip command转成zip,-qr devotes quick,repeat.快速重复结合到一起
zip_command = "zip -qr {0} {1}".format(target, ' '.join(source))
# Run the backup
if os.system(zip_command) == 0:
print('successful backup to', target)
else:
print('backup failed')