python 文件拷贝

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

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

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

首先插入必要的库:

1 import os
2 import os.path
3 import shutil
4 import time, datetime

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

1 def copyFiles(sourceDir, targetDir):
2 if sourceDir.find(".svn") >0:
3 return
4 for file in os.listdir(sourceDir):
5 sourceFile = os.path.join(sourceDir, file)
6 targetFile = os.path.join(targetDir, file)
7 if os.path.isfile(sourceFile):
8 if not os.path.exists(targetDir):
9 os.makedirs(targetDir)
10 if not os.path.exists(targetFile) or(os.path.exists(targetFile) and (os.path.getsize(targetFile) != os.path.getsize(sourceFile))):
11 open(targetFile, "wb").write(open(sourceFile, "rb").read())
12 if os.path.isdir(sourceFile):
13 First_Directory = False
14 copyFiles(sourceFile, targetFile)

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

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

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

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

复制指定文件到目录:

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

往指定目录写文本文件:

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

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

1 def getCurTime():
2 nowTime = time.localtime()
3 year = str(nowTime.tm_year)
4 month = str(nowTime.tm_mon)
5 if len(month) <2:
6 month =‘0‘+ month
7 day = str(nowTime.tm_yday)
8 if len(day) <2:
9 day =‘0‘+ day
10 return (year +‘-‘+ month +‘-‘+ day)

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

1 if __name__ =="__main__":
2 print "Start(S) or Quilt(Q) \n"
3 flag = True
4 while (flag):
5 answer = raw_input()
6 if‘Q‘== answer:
7 flag = False
8 elif ‘S‘== answer :
9 formatTime = getCurTime()
10 targetFoldername ="Build "+ formatTime +"-01"
11 Target_File_Path += targetFoldername
12
13 copyFiles(Debug_File_Path, Target_File_Path)
14 removeFileInFirstDir(Target_File_Path)
15 coverFiles(Release_File_Path, Target_File_Path)
16 moveFileto(Firebird_File_Path, Target_File_Path)
17 moveFileto(AssistantGui_File_Path, Target_File_Path)
18 writeVersionInfo(Target_File_Path+"\\ReadMe.txt")
19 print "all sucess"
20 else:
21 print "not the correct command"

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

时间: 2024-10-12 13:56:35

python 文件拷贝的相关文章

windows python文件拷贝到linux上执行问题

之前在Windows下写好了一个Python脚本,运行没问题,今天在Linux下,脚本开头的注释行已经指明了解释器的路径,也用chmod给了执行权限,但就是不能直接运行脚本. 1 问题1: 报错:: No such file or directory #!/usr/bin/env python chmod a+x test.py 解决办法: 用vim打开该sh文件,输入: :set ff 回车,显示fileformat=dos,重新设置下文件格式: :set ff=unix 保存退出 2 问题2

8.6(数据类型分类,python深浅拷贝,异常处理,基本的文件操作,绝对路径和相对路径)

数据类型分类 按照存值个数: 存一个值:整型/浮点型/字符串 存多个值:列表/字典/元组/集合 按照有序和无序: 有序:字符串/列表/元组 无序:字典/集合 按照可变和不可变 可变:字典/列表/集合 不可变:整型/浮点型/字符串/元组 Python深浅拷贝 # 拷贝 赋值 # lt = [1,2,3] # lt2 = lt # lt.append(4) # print(lt) # print(lt2) # 列表为可变类型,所以lt的值变化,lt2的值也会跟着变化 # 浅拷贝 # import..

python文件和元组

python文件操作 相较于java,Python里的文件操作简单了很多 python 获取当前文件所在的文件夹: os.path.dirname(__file__) 写了一个工具类,用来在当前文件夹下生成文件,这样方便 class Util(): """工具类""" @classmethod def get_file_url(cls, file_name): """获取当前文件夹的路径""&qu

Python 文件夹及文件操作

我们经常会与文件和目录打交道,对于这些操作,python可以使用 os 及 shutill 模块,其中包含了很多操作文件和目录的函数. os 可以执行简单的文件夹及文件操作,引入用  import os,可用  help(os)  或是  dir(os)  查看其用法.注意有些函数在os模块中,有的是在os.path模块中. shutil 模块提供了大量的文件的高级操作,特别针对文件拷贝和删除.主要功能为目录和文件操作以及压缩操作.须引入 import shutil  ,具体 help.本文仅介

Python 文件操作函数

这个博客是 Building powerful image classification models using very little data 的前期准备,用于把图片数据按照教程指示放到规定的文件夹中. python 文件处理主要用到 os 模块和 shutil 模块,'sh' 大概是 bash 的意思 os.chdir('path') 改变当前路径到 path os.listdir('path') 输出 path 路径下所有的文件名 os.makedirs('path/dirname')

一种基于二维码的半自动文件拷贝方法

在一种受限的环境中,要把文件拷贝出去显然是不可能的.因为既不能进行直接的文本拷贝(Ctrl+C, Ctrl+V),又不能使用scp(因为网络隔离).那么,真的一点办法都木有了吗?答案是否定的,因为毛主席说过,"卑贱者最聪明,高贵者最愚蠢".作为一个好琢磨的程序员,因为好奇("与天斗,其乐无穷:与地斗,其乐无穷:与人斗,其乐无穷."),所以很快想出了一个解决的办法,那就是利用非常盛行的二维码技术.虽然全自动拷贝不好实现,但半自动拷贝还是非常容易做到的.于是,本文尝试利

关于python文件转为exe文件

一.简介 py2exe是一个将python脚本转换成windows上的可独立执行的可执行程序(*.exe)的工具,这样,你就可以不用装python而在windows系统上运行这个可执行程序. py2exe已经被用于创建wxPython,Tkinter,Pmw,PyGTK,pygame,win32com client和server,和其它的独立程序.py2exe是发布在开源许可证下的. 二.安装py2exe 从 http://prdownloads.sourceforge.net/py2exe下载

Jython:java调用python文件之第三方包路径问题

本方法解决python代码的可移植性,不需要在新机器上配置python环境,只通过安装jython的方式将python代码嵌入java工程 1. Jython如何安装 下载地址:jython_installer-2.5.0.jar.下载需要积分,如果无积分,可联系楼主. 傻瓜式下一步安装方式,路径最好和工程选在同一目录下. 2. 运行python代码 举个简单例子,安装好java环境及eclipse之后,copy如下代码即可运行.注释部分为运行文件的方式,需要新建文件后去掉注释执行. impor

Python文件和目录操作实例代码

对于文件和目录的处理,虽然可以通过操作系统命令来完成,但是Python语言为了便于开发人员以编程的方式处理相关工作,提供了许多处理文件和目录的内置函数.重要的是,这些函数无论是在Unix.Windows还是Macintosh平台上,它们的使用方式是完全一致的. 本文将详细解释这些函数的使用方法.首先,介绍Python语言中类似于Windows系统的dir命令的列出文件功能,然后描述如何测试一个文件名对应的是一个标准文件.目录还是链接,以及提取文件大小和日期的方法.之后,还将介绍如何删除文件和目录