Python学习笔记4---用zip命令将文件备份

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. 将一些重要文件备份

解决问题:

  1. 需要备份的文件和目录由一个列表指定;
  2. 备份保存在主备份目录中;
  3. 文件备份成zip格式;
  4. zip保存的名称是当前的日期时间再加上注释;
  5. 运用标准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')

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值