python使用7z解压软件备份文件脚本分享

yipeiwu_com6年前Python基础

要求安装:

1.Python
2.7z解压软件

backup_2.py

复制代码 代码如下:

# Filename: backup_2.py

'''Backup files.
    Version: V2, based on Python 3.3
    Usage: backup.py -s:"dir1|dir2|..." -t:"target_dir" [-c:"comment"]
        -s: The source directories.
        -t: The target directory.
        -c: Optional, any comment.
    Examples:
        backup.py -s:"c:\\src\\F1|c:\\src\\F2|c:\\src\\F 3" -t:"c:\\backup"
        backup.py -s:"c:\\src\\F 3" -t:"c:\\backup" -c:"For sample"'''

import os
import sys
import time

# Read sys.argv
print(sys.argv)
if len(sys.argv) < 2:
    print(__doc__)
    sys.exit()

source=[]
target_dir=''
comment=''
for arg in sys.argv:
    if arg.startswith('-s:'):
        source=arg[3:].split('|')
        print(source)
    elif arg.startswith('-t:'):
        target_dir=arg[3:]+os.sep
        print(target_dir)
    elif arg.startswith('-c:'):
        comment=arg[3:]
        print(comment)

for i in range(0, len(source)):
    source[i] = "\"" + source[i] + "\""
    print(source[i])

# Make the file name with the time and comment
today=target_dir+time.strftime('%Y%m%d')
now=time.strftime('%H%M%S')

if len(comment)==0: # check if a comment was entered
    target=today+os.sep+now+'.7z'
else:
    target=today+os.sep+now+'_'+\
            comment.replace(' ','_')+'.7z'

# Create the subdirectory by day
if not os.path.exists(today):
    os.mkdir(today) # make directory
    print('Successfully created directory',today)

# zip command
zip_command="7z a %s %s" %(target,' '.join(source))
print(zip_command)

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

相关文章

django 通过url实现简单的权限控制的例子

根据用户权限设定用户可以访问哪些页面,用django实现一个简单的demo。 1.models.py 文件 class level(models.Model): l_name =...

python 实现上传图片并预览的3种方法(推荐)

python 实现上传图片并预览的3种方法(推荐)

在常见的用户注册页面,需要用户在本地选择一张图片作为头像,并同时预览。 常见的思路有两种:一是将图片上传至服务器的临时文件夹中,并返回该图片的url,然后渲染在html页面;另一种思路是...

常见的在Python中实现单例模式的三种方法

单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资...

python3使用SMTP发送HTML格式邮件

一、设置开启SMTP服务并获取授权码 可以参考第一篇文章,这里不再赘述:【一】Python3使用SMTP发送简单文本邮件 二、使用Python3 发送HTML格式的邮件 0.使用的环境为...

使用Python的turtle模块画国旗

使用Python的turtle模块画国旗

Python的turtle模块画国旗主要用到两个函数:draw_rentangle和draw_star。 至于函数的调用就和我们学的C,C++是一样的。对于turtle画国旗的程序中,首...