备份程序:

#!/usr/bin/python
#Filename:backup_ver1.py import os
import time source = ['/home/liuxj/pythontest','/home/liuxj/shell_test']
target_dir = '/mnt/backup' target = target_dir+time.strftime('%Y%m%d%H%M%S') +'.zip' zip_command = "zip -qr '%s' %s" %(target,' '.join(source)) if os.system(zip_command) == :
print 'Successful backup to',target
else:
print 'Backup FAILED'

使用加法操作符来级连字符串,把两个字符串连接在一起返回一个新的字符串。

优化2:使用时间作为文件名,当前日期作为目录名,存放在主备份目录中。

#!/usr/bin/python
#Filename:backup_ver2.py import os
import time source = ['E:\\study hard(every day)\python','E:\\Ctest'] target_dir = 'E:\\backup' 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 directory',today target = today+os.sep+now+'.zip' zip_command = "zip -qr '%s'%s"%(target,' '.join(source)) if os.system(zip_command) == :
print 'Successful backup to',target
else:
print 'Backup FAILED'

os.exists函数检验在主备份目录中是否有以当前目录作为名称的目录

os.mkdir:如果目录不存在,则创建目录

os.sep:根据你的操作系统给出目录分隔符,在linux、unix下它是‘/’,在windows下是‘\\’,而在Mac OS下它是‘:’。使用os.sep而非直接使用字符,会使程序移植性更好。

优化3:通过在zip归档名上附带一个用户提供的注释来方便地实现。

软件开发过程,各个环节:

1.分析(什么)

2.设计(如何)

3.编写(实施)

4.测试(测试和调试)

5.使用(实施或者开发)

6.维护(优化)

记住“软件是长出来的,而不是建造的”

简明python教程六----编写一个python脚本的更多相关文章

  1. 从0开始的Python学习013编写一个Python脚本

    通过之前的学习我们已经了解了Python的很多基础运用了,现在我们尝试着做一个有使用价值的小脚本. 问题 需求: 我想要一个可以给我备份重要文件的程序. 需求分析: 首先文件是有存储路径,文件的路径和 ...

  2. [No0000120]Python教程3/9-第一个Python程序

    现在,了解了如何启动和退出Python的交互式环境,我们就可以正式开始编写Python代码了. 在写代码之前,请千万不要用“复制”-“粘贴”把代码从页面粘贴到你自己的电脑上.写程序也讲究一个感觉,你需 ...

  3. 学习廖雪峰的Python教程之第一个Python程序

    一.命令行模式和Python交互模式的区分 命令行模式: Python交互模式 二.文本编辑器 1.绝对不能用Word和Windows自带的记事本.Word保存的不是纯文本文件,而记事本会自作聪明地在 ...

  4. python练习:编写一个程序,要求用户输入10个整数,然后输出其中最大的奇数,如果用户没有输入奇数,则输出一个消息进行说明。

    python练习:编写一个程序,要求用户输入10个整数,然后输出其中最大的奇数,如果用户没有输入奇数,则输出一个消息进行说明. 重难点:通过input函数输入的行消息为字符串格式,必须转换为整型,否则 ...

  5. python练习:编写一个程序,检查3个变量x,y,z,输出其中最大的奇数。如果其中没有奇数,就输出一个消息进行说明。

    python练习:编写一个程序,检查3个变量x,y,z,输出其中最大的奇数.如果其中没有奇数,就输出一个消息进行说明. 笔者是只使用条件语句实行的.(if-else) 重难点:先把三个数进行由小到大的 ...

  6. python练习:编写一个函数isIn,接受两个字符串作为参数,如果一个字符串是另一个字符串的一部分,返回True,否则返回False。

    python练习:编写一个函数isIn,接受两个字符串作为参数,如果一个字符串是另一个字符串的一部分,返回True,否则返回False. 重难点:定义函数的方法.使用str类型的find()函数,可以 ...

  7. python练习:编写一个程序,要求用户输入一个整数,然后输出两个整数root和pwr,满足0<pwr<6,并且root**pwr等于用户输入的整数。如果不存在这样一对整数,则输入一条消息进行说明。

    python练习:编写一个程序,要求用户输入一个整数,然后输出两个整数root和pwr,满足0<pwr<6,并且root**pwr等于用户输入的整数.如果不存在这样一对整数,则输入一条消息 ...

  8. 编写一个BAT脚本协助运维人员遇到问题时候调测数据库是否有效连接成功的操作攻略

    简单摘要: 1.内网系统出现故障需要排查 2.运维人员不熟悉数据库操作,没法通过连接数据库和执行SQL语句的方式排查数据库及数据是否正常 3.解决方案:编写一个bat脚本,运维人员双击运行即可.   ...

  9. 工程师技术(五):Shell脚本的编写及测试、重定向输出的应用、使用特殊变量、编写一个判断脚本、编写一个批量添加用户脚本

    一.Shell脚本的编写及测 目标: 本例要求两个简单的Shell脚本程序,任务目标如下: 1> 编写一个面世问候 /root/helloworld.sh 脚本,执行后显示出一段话“Hello ...

随机推荐

  1. logback.xml

    <?xml version="1.0" encoding="UTF-8" ?> <configuration> <!-- 日志存放 ...

  2. oracle instant client,tnsping,tnsnames.ora和ORACLE_HOME

    前段时间要远程连接oracle数据库,可是又不想在自己电脑上完整安装oracleclient,于是到oracle官网下载了轻量级clientinstant client. 这玩意没有图形界面,全靠sq ...

  3. libubox-runqueue

    参考:libubox [4] - uloop runqueue ustream 任务队列是通过uloop定时器实现,把定时器超时时间设置为1,通过uloop事件循环来处理定时器就会处理任务队列中的ta ...

  4. MapReduce实战(一)自定义类型

    需求: 处理以下流量数据,第1列是手机号,第7列是上行流量,第8列是下行流量.将手机号一样的用户进行合并,上行流量汇总,下行流量也汇总,并相加求得总流量. 1363157985066 13726230 ...

  5. Meter and pixel units in a box2d game - LibGDX

    http://pimentoso.blogspot.com/2013/01/meter-and-pixel-units-in-box2d-game.html 需FQ ————————————————— ...

  6. windows静态库的使用

    最近在学Zeromq(像框架一样的一个socket library)的使用,里面有关于库的使用问题.今天就来复习下静态库的使用: 使用静态库是重用代码的一种绝佳方式.您不必在自己创建的每个程序中重新实 ...

  7. db2 设置表 not null

    db2将原表列notnull属性修改为null属性的方法   今天把自己遇到的一个小问题跟大家分享一下如何修改db2数据库表中列的属性--将列的非空属性改为允许空的属性,修改数据表的某一列属性其实很简 ...

  8. 蓝桥杯 第三届C/C++预赛真题(7) 放棋子(水题)

    今有 6 x 6 的棋盘格.其中某些格子已经预先放好了棋子.现在要再放上去一些,使得:每行每列都正好有3颗棋子.我们希望推算出所有可能的放法.下面的代码就实现了这个功能. 初始数组中,“1”表示放有棋 ...

  9. js事件处理函数中return的作用

    这里面的return含有一些细节知识: 例如:onClick='return add_onclick()'与 onClick='add_onclick()'的区别 JAVASCRIPT在事件中调用函数 ...

  10. python入门(四):标准输出和文件读写

    Python输出 1.表达式语句 str(): 函数返回一个用户易读的表达形式,可以使用 str.format() 函数来格式化输出值. repr(): 产生一个解释器易读的表达形式. 2.print ...