第一次用Python试着写一个在Windows环境下的备份脚本
来源:互联网 发布:经纬切割机软件下载 编辑:程序博客网 时间:2024/06/06 03:50
仅以此小文字记录今天的debug心得。。
今天是这么多天自学以来第一次运用Python解决了一个实际的完整意义上的问题,感谢网上一些网友的分享,但是今天碰到的问题并不是在网上都能找到答案,因此也有一些自己的小心得。
解决一个问题,最关键的还是先确定解决问题的思路,本文的思路如下:
1. 指定需要备份的文件(目录)
2. 指定备份文件保存的目标文件(目录),这里就可以事先建立一个空目录
3. 文件备份成一个zip文件。
4. zip存档的名称是当前的日期和时间。
5. 我们使用标准的zip命令,它通常默认地随Linux/Unix发行版提供。Windows用户可以使用Info-Zip程序。注意你可以使用任何地存档命令,只要它有命令行界面就可以了,那
样的话我们可以从我们的脚本中传递参数给它。
###对于5的操作,可以先在开始里面键入cmd,在打开的界面里面输入zip,如果系统有zip的话,说明系统可以直接调用zip命令。本人是先装了一个Info_zip程序,按照网上网友(http://blog.sina.com.cn/s/blog_795289a40101qdg5.html)的方法执行后还是提示错误,解决办法:需要将路径加入到环境变量的path中去,否则会提示“‘zip’ 不是内部或外部命令,也不是可执行程序”)
我的程序如下,备注里面也有自己的debug体会:
# -*- coding: utf-8 -*-#解决的问题:文件备份————版本一import osimport time#1.the file and directories to be backed up are specified in a list.#source=["/home/swaroop/byte","/home/swaroop/bin"]#if you are using windows,use source=["E:\\kindle","D:\\movie\\hh"]#or something like that 注意Python下\为转义字符,因此写成\\#the backup must be stored in a main backup directory#target_dir="/mnt/e/backup/" #remenmber to change this to what you will be using target_dir="D:\\backup\\"##这里出现的一个错误,之前吧backup文件建在了d盘,但是在debug前粗心的写成了e盘,导致运行脚本时说zip的I/O口错误。#3.the files are backed up in to a zip file#4.the name of the zip archieve is the current data and timetarget=target_dir+time.strftime("%Y%m%d%H%M%S")+".zip"#加法操作符来 级连 字符串print target#5.we use the zip command(in unix/linux)to put the files in a zip archivezip_command="zip -qr %s %s"%(target,' '.join(source))##zip 是Windows系统自带的,在开始里面输入cmd,弹出来的脚本界面里面输入zip,可以详细了解到-q和-r的作用#run the backup if os.system(zip_command)==0: print "successful backup to",targetelse: print "backup FAILED"cmd后键入zip,得到的内容如下,可以详细学习zip_command里面的内容。
关于join
Python中有 join() 和 os.path.join()两个函数,具体作用如下:
join():连接字符串数组。将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串
os.path.join(): 将多个路径组合后返回
1、join()函数说明:
语法: 'sep'.join(seq)
参数说明
sep:分隔符。可以为空
seq:要连接的元素序列、字符串、元组、字典
上面的语法即:以sep作为分隔符,将seq所有的元素合并成一个新的字符串
返回值:返回一个以分隔符sep连接各个元素后生成的字符串
2、os.path.join()函数
语法: os.path.join(path1[,path2[,......]])
返回值:将多个路径组合后返回
注:第一个绝对路径之前的参数将被忽略
- 第一次用Python试着写一个在Windows环境下的备份脚本
- 在windons下写一个zip备份的python脚本
- Windows环境下python备份脚本编写(二)
- 【Windows】Windows环境下Oracle数据库的自动备份脚本
- 使用python在windows 下 编写 自动备份脚本
- 【Python学习】--Windows下实现备份的Python脚本
- python在windows下的备份程序
- python在windows下的备份程序
- Windows环境下Oracle数据库的自动备份脚本
- windows环境下Oracle数据库的自动备份脚本
- Windows环境下Oracle数据库的自动备份脚本
- 用python在windows下备份
- windows和linux下的python备份脚本
- 用python写一个windows下的定时关机脚本
- 如何在Windows环境下运行Python脚本
- 在win7下的简单的备份python脚本
- unix/windows下编写一个python脚本(文件备份)--python学习(4)
- 如何在Windows环境下运行从linux 移植的Python脚本
- 纯净CentOS中安装redis遇到的坑
- 如何进行特征选择?
- SQL优化速成
- Linux Shell 常用shell命令(一)文件、目录操作命令
- 代码动态设置tabLayout 导航条宽度
- 第一次用Python试着写一个在Windows环境下的备份脚本
- Java序列化
- 常用浏览器事件解析
- 中国移动申请FDD牌照加码物联网_你怎么看?
- Qt5 社区版到底还能不能闭源使用了?
- 研究人脸识别技术必须知道的十个基本概念
- android DrawerLayout初探
- 2324: [ZJOI2011]营救皮卡丘
- Robot Framework自动化测试(三)---Selenium API