Python实现文件复制删除


Posted in Python onApril 19, 2016

 用python实现了一个小型的工具。其实只是简单地把debug 目录下的配置文件复制到指定目录,把Release下的生成文件复制到同一指定,过滤掉不需要的文件夹(.svn),然后再往这个指定目录添加几个特定的文件。

    这个是我的第一个python小程序。

    下面就来看其代码的实现。

首先插入必要的库:

import os 
import os.path 
import shutil 
import time, datetime

然后就是一大堆功能函数。第一个就是把某一目录下的所有文件复制到指定目录中:

def copyFiles(sourceDir, targetDir): 
if sourceDir.find(".svn") >0: 
return 
for file in os.listdir(sourceDir): 
sourceFile = os.path.join(sourceDir, file) 
targetFile = os.path.join(targetDir, file) 
if os.path.isfile(sourceFile): 
if not os.path.exists(targetDir): 
os.makedirs(targetDir) 
 if not os.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()) 
 if os.path.isdir(sourceFile): 
 First_Directory = False 
 copyFiles(sourceFile, targetFile)

删除一级目录下的所有文件:

def removeFileInFirstDir(targetDir): 
for file in os.listdir(targetDir): 
targetFile = os.path.join(targetDir, file) 
if os.path.isfile(targetFile): 
os.remove(targetFile)

复制一级目录下的所有文件到指定目录:

def coverFiles(sourceDir, targetDir): 
for file in os.listdir(sourceDir): 
sourceFile = os.path.join(sourceDir, file) 
targetFile = os.path.join(targetDir, file) 
#cover the files 
if os.path.isfile(sourceFile): 
open(targetFile, "wb").write(open(sourceFile, "rb").read())

复制指定文件到目录:

def moveFileto(sourceDir, targetDir):
shutil.copy(sourceDir, targetDir)

往指定目录写文本文件:

def writeVersionInfo(targetDir): 
open(targetDir, "wb").write("Revison:")

返回当前的日期,以便在创建指定目录的时候用:

def getCurTime(): 
nowTime = time.localtime() 
year = str(nowTime.tm_year) 
month = str(nowTime.tm_mon) 
if len(month) <2: 
month ='0'+ month 
day = str(nowTime.tm_yday) 
if len(day) <2: 
day ='0'+ day 
 return (year +'-'+ month +'-'+ day)

然后就是主函数的实现了:

if __name__ =="__main__": 
print "Start(S) or Quilt(Q) \n" 
flag = True 
while (flag): 
answer = raw_input() 
if'Q'== answer: 
flag = False 
elif 'S'== answer : 
formatTime = getCurTime() 
 targetFoldername ="Build "+ formatTime +"-01" 
 Target_File_Path += targetFoldername
 
 copyFiles(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+"\\ReadMe.txt") 
 print "all sucess" 
 else: 
 print "not the correct command"

    感觉是果然简单, 不过简单的原因是因为库函数丰富,语言基本特性的简单真没感觉出来。

我们再来看一个实例

本人一直用foobar2000作为音乐播放器,听歌时候把自己喜欢的歌都会特别添加到一个播放列表。

自己用iphone,同步歌曲的时候需要用到itunes,而itunes却没有我用foobar2000的精选播放列表呢~

本人只好定期把播放列表的mp3文件拷贝到一个目录,我用itunes只需同步这个目录即可
(顺便吐槽下itunes不好使,在后期我都直接用其他同步工具代替之)

播放列表是*.m3u格式的文本,用记事本打开可以看到mp3的绝对路径。

直接贴代码吧,写得比较仓促,各位将就参考下即可:

#coding=gbk  
import sys, shutil, os, string 
mp3List = "F:\\My Documents\\mp3list\\默认精选.m3u" 
destDir = "G:\\POP\\默认精选" 
 
def cpFile(srcPath): 
  fileName = os.path.basename(srcPath) 
  destPath = destDir + os.path.sep + fileName 
  if os.path.exists(srcPath) and not os.path.exists(destPath): 
    print 'cp %s %s' % (srcPath,destPath) 
    shutil.copy(srcPath,destPath) 
 
if __name__ == '__main__': 
  f = file(mp3List, 'r') 
  lists = f.readlines() 
  for i in lists: 
    cpFile(string.strip(i)) 
     
  f.close()
Python 相关文章推荐
python决策树之C4.5算法详解
Dec 20 Python
django使用xlwt导出excel文件实例代码
Feb 06 Python
python购物车程序简单代码
Apr 18 Python
python3+PyQt5 创建多线程网络应用-TCP客户端和TCP服务器实例
Jun 17 Python
机器学习实战之knn算法pandas
Jun 22 Python
Python 计算任意两向量之间的夹角方法
Jul 05 Python
Python爬取知乎图片代码实现解析
Sep 17 Python
linux环境下安装python虚拟环境及注意事项
Jan 07 Python
python中数据库like模糊查询方式
Mar 02 Python
Django ORM 查询表中某列字段值的方法
Apr 30 Python
Sentry错误日志监控使用方法解析
Nov 12 Python
详解Python+OpenCV绘制灰度直方图
Mar 22 Python
利用Python获取赶集网招聘信息前篇
Apr 18 #Python
Python Sql数据库增删改查操作简单封装
Apr 18 #Python
python使用paramiko实现远程拷贝文件的方法
Apr 18 #Python
python UNIX_TIMESTAMP时间处理方法分析
Apr 18 #Python
python动态加载包的方法小结
Apr 18 #Python
python实现按行切分文本文件的方法
Apr 18 #Python
Python获取linux主机ip的简单实现方法
Apr 18 #Python
You might like
基于python发送邮件的乱码问题的解决办法
2013/04/25 PHP
php获取目标函数执行时间示例
2014/03/04 PHP
php实现的树形结构数据存取类实例
2014/11/29 PHP
php实现网站留言板功能
2015/11/04 PHP
我整理的PHP 7.0主要新特性
2016/01/07 PHP
在laravel中使用Symfony的Crawler组件分析HTML
2017/06/19 PHP
在phpstudy集成环境下的nginx服务器下配置url重写
2019/12/02 PHP
document.open() 与 document.write()的区别
2007/08/13 Javascript
div拖拽插件——JQ.MoveBox.js(自制JQ插件)
2013/05/17 Javascript
JavaScript常用标签和方法总结
2015/09/01 Javascript
Javascript数组Array基础介绍
2016/03/13 Javascript
纯JS焦点图特效实例(可一个页面多用)
2016/12/07 Javascript
node学习记录之搭建web服务器教程
2017/02/16 Javascript
利用原生JS与jQuery实现数字线性变化的动画
2017/02/24 Javascript
javascript 中的继承实例详解
2017/05/05 Javascript
详解使用jest对vue项目进行单元测试
2018/09/07 Javascript
bootstrap Table实现合并相同行
2019/07/19 Javascript
JavaScript实现轮播图特效
2020/04/10 Javascript
Python Deque 模块使用详解
2014/07/04 Python
Python实现3行代码解简单的一元一次方程
2014/08/18 Python
python修改操作系统时间的方法
2015/05/18 Python
python操作 hbase 数据的方法
2016/12/18 Python
Python实现的概率分布运算操作示例
2017/08/14 Python
python3结合openpyxl库实现excel操作的实例代码
2018/09/11 Python
opencv3/Python 稠密光流calcOpticalFlowFarneback详解
2019/12/11 Python
解决python运行启动报错问题
2020/06/01 Python
python中if及if-else如何使用
2020/06/02 Python
Matplotlib.pyplot 三维绘图的实现示例
2020/07/28 Python
英国二手iPhone、音乐、电影和游戏商店:musicMagpie
2018/10/26 全球购物
腾讯公司的一个sql题
2013/01/22 面试题
预备党员2014全国两会学习心得体会
2014/03/10 职场文书
教室标语大全
2014/06/21 职场文书
2014领导干部学习焦裕禄同志先进事迹思想汇报
2014/09/19 职场文书
2014年学生管理工作总结
2014/12/20 职场文书
自书遗嘱范文
2015/08/07 职场文书
六年级情感作文之500字
2019/10/23 职场文书