仓酷云

标题: 来一发Python os.path和shutil模块完成文件复制、删除 [打印本页]

作者: 愤怒的大鸟    时间: 2015-1-14 21:04
标题: 来一发Python os.path和shutil模块完成文件复制、删除
小知识:CentOS其实就是相当于免费版的RedHat,任何人可以自由使用,不需要向RedHat付任何的费用。当然,同样你也得不到任何有偿的技术支持和升级服务。
重要应用os.path和shutil模块来在完成文件复制、删除,可以依据本身的需求修正相干代码便可。
  1. #!/usr/bin/envpython#-*-coding:utf-8-*-importosimportos.pathimportshutilimporttime,datetimedefcopyFiles(sourceDir,targetDir):#把某一目次下的一切文件复制到指定目次中ifsourceDir.find(".svn")>0:returnforfileinos.listdir(sourceDir):sourceFile=os.path.join(sourceDir,file)targetFile=os.path.join(targetDir,file)ifos.path.isfile(sourceFile):ifnotos.path.exists(targetDir):os.makedirs(targetDir)ifnotos.path.exists(targetFile)or(os.path.exists(targetFile)and(os.path.getsize(targetFile)!=os.path.getsize(sourceFile))):open(targetFile,"wb").write(open(sourceFile,"rb").read())ifos.path.isdir(sourceFile):First_Directory=FalsecopyFiles(sourceFile,targetFile)defremoveFileInFirstDir(targetDir):#删除一级目次下的一切文件forfileinos.listdir(targetDir):targetFile=os.path.join(targetDir,file)ifos.path.isfile(targetFile):os.remove(targetFile)defcoverFiles(sourceDir,targetDir):#复制一级目次下的一切文件到指定目次forfileinos.listdir(sourceDir):sourceFile=os.path.join(sourceDir,file)targetFile=os.path.join(targetDir,file)#coverthefilesifos.path.isfile(sourceFile):open(targetFile,"wb").write(open(sourceFile,"rb").read())defmoveFileto(sourceDir,targetDir):#复制指定文件到目次shutil.copy(sourceDir,targetDir)defwriteVersionInfo(targetDir):#往指定目次写文本文件open(targetDir,"wb").write("Revison:")defgetCurTime():#前往以后的日期,以便在创立指定目次的时刻用nowTime=time.localtime()year=str(nowTime.tm_year)month=str(nowTime.tm_mon)iflen(month)<2:month=0+monthday=str(nowTime.tm_yday)iflen(day)<2:day=0+dayreturn(year+-+month+-+day)if__name__=="__main__":#主函数print"Start(S)orQuilt(Q)
  2. "flag=Truewhile(flag):answer=raw_input()ifanswer==Q:flag=Falseelifanswer==S:formatTime=getCurTime()targetFoldername="Build"+formatTime+"-01"Target_File_Path+=targetFoldernamecopyFiles(Debug_File_Path,Target_File_Path)removeFileInFirstDir(Target_File_Path)coverFiles(Release_File_Path,Target_File_Path)moveFileto(Firebird_File_Path,Target_File_Path)moveFileto(AssistantGui_File_Path,Target_File_Path)writeVersionInfo(Target_File_Path+"        est.txt")print"allsucess"else:print"notthecorrectcommand"
复制代码

小知识:CentOS其实就是相当于免费版的RedHat,任何人可以自由使用,不需要向RedHat付任何的费用。当然,同样你也得不到任何有偿的技术支持和升级服务。
作者: 飘灵儿    时间: 2015-1-16 23:37
标题: 来一发Python os.path和shutil模块完成文件复制、删除
清楚了解网络的基础知识,特别是在Linux下应用知识,如接入internet等等。
作者: 只想知道    时间: 2015-1-22 15:17
对我们学习操作系统有很大的帮助,加深我们对OS的理解。?
作者: 精灵巫婆    时间: 2015-1-31 11:52
Windows?是图形界面的,Linux类似以前的?DOS,是文本界面的,如果你运行了图形界面程序X-WINDOWS后,Linux?也能显示图形界面,也有开始菜单、桌面、图标等。
作者: 兰色精灵    时间: 2015-2-6 19:46
现在的linux操作系统如redhat,难点,红旗等,都是用这么一个内核,加上其它的用程序(包括X)构成的。
作者: 灵魂腐蚀    时间: 2015-2-18 11:36
另外Linux上也有很多的应用软件,安装运行了这些软件后,你就可以在Linux上编辑文档、图?片,玩游戏、上网、播放多媒体文件等。
作者: 乐观    时间: 2015-3-6 07:43
其次,Linux简单易学,因为我们初学者只是学的基础部分,Linux的结构体系非常清晰,再加上老师循序渐进的教学以及耐心的讲解,使我们理解起来很快,短期内就基本掌握了操作和运行模式。
作者: 简单生活    时间: 2015-3-12 23:44
以前觉得Linux就跟dos一样,全是用命令窗口,相对于窗口界面来说多麻烦呀。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2