用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"
相关推荐
文件复制主要通过`shutil`模块的`copy`函数实现,但在这个实例中,作者选择手动处理文件复制。在`copyFiles`函数中,遍历源目录的所有文件和子目录,如果遇到文件,则打开并读取内容,然后写入目标文件。对于目录,...
对于希望进一步深入学习Python文件操作和自动化脚本开发的读者,推荐以下资源: - **官方文档**:Python官方文档提供了最权威的API文档和教程。 - **在线课程**:Coursera、Udemy等平台上的Python编程课程通常包含...
Python文件操作是编程中不可或缺的一部分,它涉及到对文件的读取、写入、追加、移动、删除等操作。在Python中,文件操作通常通过内置的`open()`函数实现,结合不同的模式(如'r'、'w'、'a'等)来执行不同操作。 在...
`shutil`库则提供了高级文件操作,如复制、移动、删除文件或整个目录。 4. **FTP(File Transfer Protocol)**:虽然Python可以自定义实现文件传输,但也可以利用标准库`ftplib`来实现FTP协议,方便地上传和下载...
通过本文介绍的方法,我们可以使用 Python 的 `shutil` 和 `os` 模块轻松实现对指定目录下文件及文件夹的删除操作。这不仅简化了代码的编写过程,还提高了代码的可读性和可维护性。希望本文能够对您的 Python 编程...
代码组织上,Python通常遵循模块化原则,每个功能可能对应一个单独的Python文件,如`file_operations.py`负责文件操作,`ui.py`处理用户界面,`utils.py`包含通用辅助函数。这些模块通过导入彼此的功能进行协作。 ...
使用场景将文件复制并重命名(重命名方式在文件末尾加生成的随机数) #!/usr/bin/python3 #coding=GB2312 import os import os.path import random import shutil count = 0 #源文件夹 src=E:\\file\\CEB411Message__...
Python S60 文件管理器允许用户在手机上进行基本的文件浏览、创建、删除、移动和复制等操作,极大地增强了设备的文件处理能力。 首先,我们要理解Python在S60中的应用。Python for S60是Python的一种移植版本,它...
Python 文件简单操作 Python 中对文件、文件夹的操作需要涉及到 os 模块和 shutil 模块。下面将详细介绍 Python 中文件简单操作的知识点。 创建文件 在 Python 中,创建文件可以使用 os 模块的 mknod 函数或 open...
4. **Python文件操作**: - 在同步文件前,我们需要读取和检查本地文件,这可能涉及到`open()`函数,`read()`和`write()`方法,以及`os.path`模块的一些函数,如`exists()`、`isfile()`和`isdir()`。 - 对于目录,...
初级版通常是最基础的实现,可能只包含了基本的文件操作,如创建、删除、移动和复制文件或目录。它可能使用内置的`os`模块和`shutil`模块来完成这些任务。`os`模块提供了与操作系统交互的接口,而`shutil`模块则...
在Python编程中,实现文件管理是一项基础且实用的技能。本示例中,我们将探讨如何创建一个程序,该程序能够监控指定的回收站文件,并在这些文件被删除7天后自动从回收站中清除。这样的功能可以应用于各种场景,比如...
6. **文件操作**:除了`os`库,`shutil`库也常用于文件操作,如复制、移动或删除文件。`pathlib`库提供了一种面向对象的方式来处理文件路径,使得代码更加简洁和易于理解。 7. **版本控制**:如果对比的文件来自...
1. 文件操作:使用内置的os和shutil模块进行文件的读取、创建、删除、复制和移动。 2. 文件流:理解如何使用open()函数处理文件流,进行读写操作。 3. 网络通信:学习使用requests库发送HTTP请求,或者使用smtplib和...
在深入学习这个Python分布式文件系统的源码时,你需要理解上述各个模块的设计和实现,熟悉分布式系统的基本原理,如CAP理论、Paxos协议、Chubby锁服务等。此外,对Python编程、网络编程、并发控制和数据存储等相关...
知识点一:Python文件操作基础 Python中处理文件和文件夹常用到的os模块和shutil模块是基础知识。os模块用于操作文件路径和目录,例如切换工作路径、创建目录等;shutil模块则用于文件的复制、移动、删除等操作。在...
if filename.endswith('.py'): # 仅复制Python文件 file_path = os.path.join(src_dir, filename) # 检查文件是否实际存在,避免错误 if os.path.isfile(file_path): # 复制文件到目标文件夹 dst_file_path =...
Python在处理PDF文档时提供了多种库,其中包括PyPDF2,这是一个强大的库,用于读取、合并、分割PDF文件,以及处理PDF的元数据,包括书签。本篇将详细介绍如何利用Python来实现PDF书签的读取和批量写入。 首先,让...
- `shutil`模块:用于更复杂的文件和文件集合操作,如复制、移动和删除文件或整个目录树。 2. 文件I/O操作: - `open()`函数:用于打开和读写文件,支持各种模式(如'w'、'r'、'a')。 - `read()`, `write()`, `...