练习适用于LINUX,类Unix系统,一步一个脚印提高Python 。

001. 类Unix系统中用zip命令将文件压缩备份至 /temporary/ 目录下:

import os
import time old_files = ['/home/zhg/aa.py','home/zhg/bb.py']
target_dir = '/temporary/'
target = target_dir + time.strftime('%Y%m%d%H%M%S') + '.zip'
zip_command = "zip -qr %s %s" % (target,' '.join(old_files)) if os.system(zip_command) == 0:
print "Successful backup to",target_dir
else:
print "error backup failed"
# Linux中上一次命令执行成功会返回0  

# '  '.join(sequence)方法见: 字符串方法

升级一下:

如果要在 /temporary/ 目录下自动以当天日期的名称生成一个文件夹(if判断不存在文件夹则执行 mkdir 命令),备份的zip文件以当时的时间命名怎么办?并且要在文件名后面加一段注释,例如:  /temporary/20150330/123030_add_new_file.zip

import os
import time source_files = ['/home/zhg/temptest/aa.py','/home/zhg/temptest/bb.py']
target_dir = '/temporary/'
today = target_dir + time.strftime('%Y%m%d')
now = time.strftime('%H%M%S') if not os.path.exists(today):
os.mkdir(today)
print('Successfully created new directory'),today comment = raw_input('Enter a file comment: ')
if len(comment) == 0:
target = today + '/' + now + '.zip'
else:
target = today + '/' + now + '_' + comment.replace(' ','_')+'.zip' zip_command = "zip -qr %s %s" % (target,' '.join(source_files)) if os.system(zip_command) == 0:
print('Successfully created zip file',target)
else:
print('Somthing failed')

运行结果:

zhg@hang:~/testdir$ python backup.py
Successfully created new directory /temporary/20150330
Enter a file comment: add new file
('Successfully created zip file', '/temporary/20150330/135040_add_new_file.zip') zhg@hang:~/testdir$ ls /temporary/20150330/
135040_add_new_file.zip
# comment.replace(' ','_')   把 add new file 的空格换成了下划线
# 关于zip的命令可自行搜索,当然你也可以用tar命令

Python入门小练习-001-备份文件的更多相关文章

  1. Python入门小练习

    Python入门小练习 001 备份文件 Python入门小练习 002 批量下载网页链接中的图片 Python入门小练习 003 利用cookielib模拟登录获取账户信息

  2. 简述Python入门小知识

    如今的Python开发工程师很受企业和朋友们的青睐,现在学习Python开发的小伙伴也很多,本篇文章就和大家探讨一下Python入门小知识都有哪些. 扣丁学堂简述Python入门小知识Python培训 ...

  3. 40个Python入门小程序

    有不少同学学完Python后仍然很难将其灵活运用.我整理 37 个Python入门的小程序.在实践中应用Python会有事半功倍的效果. 分享 Github 项目,里面收集了 Python 学习资料 ...

  4. Python入门小建议

    "java从心"正式更名"KEN DO EVERTHING".Ken(Can) Do Everything,无所不能 Believe youseft then ...

  5. Python 入门小实例笔记

    实例1:打印用户输入的姓名与手机号码知识点:编码,获取输入,变量,标准输出 #encoding=utf-8 import time #1.提示用户输入信息 name = input ("请输 ...

  6. Python入门小练习 002 批量下载网页链接中的图片

    我们常常需要下载网页上很多喜欢的图片,但是面对几十甚至上百张的图片,一个一个去另存为肯定是个很差的体验. 我们可以用urllib包获取html的源码,再以正则表达式把匹配的图片链接放入一个list中, ...

  7. Python入门小练习 003 利用cookielib模拟登录获取账户信息

    为了方便, 使用chinaunix的账户获取账户主题. 有些网站可能需要验证码,  找一些不用验证码的网站 下面 ****** 很多个星号的均为私密信息, 所以用星号代替 #!/usr/bin/pyt ...

  8. Python 入门之代码块、小数据池 与 深浅拷贝

    Python 入门之代码块.小数据池 与 深浅拷贝 1.代码块 (1)一个py文件,一个函数,一个模块,终端中的每一行都是代码块 (代码块是防止我们频繁的开空间降低效率设计的,当我们定一个变量需要开辟 ...

  9. 毫无基础的人入门Python,Python入门教程

    随着人工智能的发展,Python近两年也是大火,越来越多的人加入到Python学习大军,对于毫无基础的人该如何入门Python呢?这里整理了一些个人经验和Python入门教程供大家参考. 如果你是零基 ...

随机推荐

  1. Posix信号量操作函数

    Posix信号量: 分类: Posix有名信号量:使用Posix IPC名字标识,可用于线程或进程间同步Posix基于内存的信号量:存放在共享内存区中,可用于进程或线程间的同步 sem_open(). ...

  2. Seesion和Cookie详解2

    转载来自: https://www.toutiao.com/a6693986851193094664/?tt_from=weixin&utm_campaign=client_share& ...

  3. 赵雅智_SimpleCursorAdapter

    项目步骤 声明listView控件并获取显示的视图 获取显示的数据 设置显示的adapter 注冊点击事件 详细案例 实现效果: watermark/2/text/aHR0cDovL2Jsb2cuY3 ...

  4. 在Android Studio中修改应用包名

    紧凑模式下(包名中的每个字段紧贴在一起,例如),右键单击包名,Refactor -> Rename,只能修改包名最外层的字段 分离模式下(点击设置,将Hide Empty Middle Pack ...

  5. Springboot读取自定义的yml文件中的List对象

    Yml文件(novellist.xml)如下: novellist:   list:     - name: 笑傲江湖       type: 武侠       master: 令狐冲       a ...

  6. ios 短音效的使用

    1.通用短音效ID的获取 #import <Foundation/Foundation.h> @interface MJAudioTool : NSObject /** * 播放音效 * ...

  7. 数据结构之 图论---bfs(邻接表)

    数据结构实验之图论二:基于邻接表的广度优先搜索遍历 Time Limit: 1000MS Memory limit: 65536K 题目描述 给定一个无向连通图,顶点编号从0到n-1,用广度优先搜索( ...

  8. Could not load file or assembly 'MyAssembly.XmlSerializers

    https://stackoverflow.com/questions/17755559/could-not-load-file-or-assembly-myassembly-xmlserialize ...

  9. (转)Linux下 SVN客户端安装

    原地址:http://rtxbc.iteye.com/blog/860092 今天有现场程序连svn服务器一直有异常,于是在现场linux下安装svn client来直接测试,看问题原因: 一:安装s ...

  10. 第五届蓝桥杯C++B组省赛

    1.啤酒和饮料 2.切面条 3.李白打酒 4.史丰收速算 5.打印图形 6.奇怪的分式 7.六角填数 8.蚂蚁感冒 9.地宫取宝 10.小朋友排队