标签:文件备份脚本
这几天在准备简历找实习,朋友们都各种投简历、找内推,让我羡慕也不羡慕、纠结也不纠结。我也可以找到帮我内退的学长学姐,可是,我决定自己闯,人生嘛,靠自己闯荡才有意思。
朋友问我人活着的意义是什么?还记得以前上课行政老师谈到这个话题,说好多人自杀,因为它们学哲学很入迷,然后思考活着的意义,后来走火入魔自杀;听到朋友这么问的时候我便知道有这种疑问的人不在少数,我没有直接回答他,而是给他讲了我的经历。就在两个月前,我一个人窝在家里大门不出二门不迈的,我一天的生活就是敲代码、学安全、打游戏、睡觉、吃饭、谈恋爱,忽然之间,我觉得,就这样在家里过一辈子是多么的惬意,不用与人交流、不用担心这个担心那个的;可是,很快我就推翻了自己的想法,什么是人生?我觉得人生就是拼尽全力去面对无穷尽的未知,也就是:冒险。我永远不知道我会不会成为一代安全大咖,所以努力的学习,不停的学习,只为了成为大咖,可是努力就够了吗?不知道,我永远都不知道,未来的路要自己走,没有到达那个地步,永远都不可能知道。也许学统计学的同学可以告诉我,有多少多少的概率什么什么的,我想说,那只是概率。后来,我给他讲了我的一些充满冒险精神的活动以后,他笑了,他接受了我对人生的看法。
是不是觉得好扯淡?确实,我就是一个爱扯的人。除了扯,我还是一个特别无聊的人,比如说,我有备份代码的习惯,可是每次都手工备份,很麻烦,于是,我今天早上起来无聊写了个python的备份脚本,我的主要目的是自己用,不过呢,我也不介意分享一下。用的是python 3.4.2,单线程而且有递归,如果文件夹下目录太多程序可能会挂,可是,我的又不多,多线程什么的,等我想写的时候在给加上。
#encoding=utf-8
#当前脚本为了将“E:\年度报告”中的文件放入U盘
import os
import shutil
from optparse import OptionParser
#获得当前目录
pwd = os.getcwd()
#拼接得到目标目录
distpwd = pwd + "\..\lession_two"
def checkdir(dist):
#判断目标文件是否存在
if os.path.exists(dist):
return True
else:
#创建目标目录,然后复制
os.makedirs(dist)
return True
def solvedir(path, dist):
dirs = os.listdir(path)
for dira in dirs:
fullpath = path + "\\" + dira
if not os.path.isdir(fullpath) and not os.path.isfile(fullpath):
print(fullpath + " is not a file or directory")
elif os.path.isfile(fullpath):
shutil.copy2(fullpath, dist)
print("200 OK \tcopy \"" + fullpath + "\" to \"" + dist + "\" succeed")
elif os.path.isdir(fullpath):
newdist = dist + "\\" + dira
checkdir(newdist)
solvedir(fullpath, newdist)
def solvefile(src, dist):
shutil.copy2(src, dist)
print("200 OK \tcopy \"" + src + "\" to \"" + dist + "\" succeed")
def start_copy(src, dist):
if os.path.isdir(src):
solvedir(src, dist)
elif os.path.isfile(src):
solvefile(src, dist)
else:
print("src的值不正确")
def copyfromsrc2dist(src, dist):
start_copy(src, dist)
def copyfromsrc(src):
pwd = os.getcwd()
start_copy(src, pwd)
def main():
usage = "usage: %prog -s [src] -d [dist]"
version = "%prog version V1.1.0"
parser = OptionParser(usage = usage, version = version)
parser.add_option("-s", "--src", dest = "src", help = "specify the file or directory want to copy")
parser.add_option("-d", "--dist", dest = "dist", help = "specify the the file or directory that you want to put")
(options, args) = parser.parse_args()
if options.src and options.dist:
src = options.src
dist = options.dist
copyfromsrc2dist(src, dist)
elif options.src is None and options.dist is None:
print(parser.usage)
elif options.src:
src = options.src
copyfromsrc(src)
if __name__ == "__main__":
main()标签:文件备份脚本
原文地址:http://executer.blog.51cto.com/10404661/1905363