python3的一些文件操作的脚手架

用python把原来的脚本重构了一下,其中写了文件操作的一些函数,如下:

import os
import shutil
import hashlib
import stat

#查找文件夹中的某个文件
def findMyFileDir(dirPath, findFile):
    files = []
    dirs = []
    for root, dirs, files in os.walk(dirPath, topdown=False):
        for file in files:
            if file == findFile:
                return root
        for dir in dirs:
            findMyFileDir(os.path.join(root, dir), findFile)

#创建一个文件夹
def createDir(dirPath):
    os.makedirs(dirPath, exist_ok=True)

#删除一个文件
def delFile(filePath):
    if os.path.exists(filePath):
        os.remove(filePath)

#删除文件夹里所有的文件
def delDir(dir):
    if(os.path.isdir(dir)):
        for f in os.listdir(dir):
            delDir(os.path.join(dir, f))
        if(os.path.exists(dir)):
            os.rmdir(dir)
    else:
        if(os.path.exists(dir)):
            os.remove(dir)

#拷贝文件
def copyFile(sourceFilePath, destFilePath):
    if not(os.path.exists(sourceFilePath)):
        return False

    if os.path.exists(destFilePath):
        if getFileMd5(sourceFilePath) == getFileMd5(destFilePath):
            return True
        else:
            os.remove(destFilePath)

    destFileDir = os.path.dirname(destFilePath)
    os.makedirs(destFileDir, exist_ok=True)
    if not(shutil.copyfile(sourceFilePath, destFilePath, follow_symlinks=False)):
        return False
    return True

#拷贝文件夹里的文件
def copyDir(sourceDir, destDir):
    if not(os.path.exists(sourceDir)):
        return False

    if os.path.exists(destDir):
        shutil.rmtree(destDir)

    if not(shutil.copytree(sourceDir, destDir, symlinks=True)):
        return False
    return True

#获取文件的md5
def getFileMd5(filePath):
    with open(filePath, ‘rb‘) as f:
        content = f.read()
    hash = hashlib.md5()
    hash.update(content)
    return hash.hexdigest()

#获取一个文件夹里的所有的文件和该文件对应的md5
def dirList(dirPath):
    listDict = {}
    files = []
    dirs = []
    for root, dirs, files in os.walk(dirPath, topdown=False, followlinks=True):
        for file in files:
            filePath = os.path.join(root, file)
            listDict[os.path.relpath(filePath, dirPath).replace(
                ‘\\‘, ‘/‘)] = getFileMd5(filePath)
    for dir in dirs:
        dirList(os.path.join(root, dir))
    return listDict

#逐行读一个文件,并过来文件中某些行里回车和空格
def readLineForFile(filePath):
    f = open(filePath, ‘r‘)
    lines = f.readlines()
    f.close()
    newLines = []
    for line in lines:
        line = line.replace(‘\n‘, ‘‘).strip()
        if line:
            newLines.append(line)
    return newLines

原文地址:https://www.cnblogs.com/lmh001/p/9997766.html

时间: 2024-10-06 18:29:44

python3的一些文件操作的脚手架的相关文章

Python3 简单的文件操作

方法一:open() 我们平时进行写入文件的时候一般都用open()函数 f = open('/Users/michael/test.txt', 'w') # 路径 mode f.write('Hello, world!') # write() 方法用于向文件中写入指定字符串. f.close() # 关闭文件.关闭后文件不能再进行读写操作. 我们可以反复调用write()来写入文件,但是务必要调用f.close()来关闭文件.如果不进行关闭有可能我们的文件数据就丢失了. 方法二:with op

[Python3]目录与文件操作

概述 本文就os和path模块中常用的方法进行了说明和列举,更多的方法和技巧请参加官方文档 os模块常用方法 我们先看看os模块所提供的目录操作方法,直接上代码实例: # -*- coding:utf-8 -*- __author__ = '谷白' # 导入os模块 import os if __name__ == "__main__": # 返回完整的路径目录 print("获取当前工作目录") print(os.getcwd()) # 返回的是: . print

Python3之json文件操作

json函数 使用json函数之前,首先需要导入json模块,import json 1).json.dumps()函数 该函数是将 Python 对象编码成 JSON 字符串,例如: 1 import json 2 d={'谦谦':{'sex':'男','addr':'北京','age':34},'千千':{ 'sex':'女','addr':'北京', 'age':34},} 3 print(json.dumps(d,ensure_ascii=False,indent=4)) #字典转成js

Python3.5对文件的操作

这是一个python3.5对文件操作的整理,里面有复制/改名/覆盖输入/追加输入等等. 前提:在E盘的PythonAAA/A的文件夹下,有一个123.txt 1)覆盖输入 >>>import os    #启动模块 >>>f=open("e:/PythonAAA/A/123.txt","w+")    #打开目标文件,w+是以读写方式打开,同r+ >>>f.write("我爱北京天安门")  

Python基础:Python函数、文件操作、递归

函数参数 函数参数包括位置参数,关键字参数,动态参数(*args, **args)三种. 传参的过程是形式参数的赋值. *args传入的参数是元组形式,**args传入的参数是字典形式. 示例代码如下:(这部分直接看代码实例会更清楚静态参数与动态参数如何混用) 1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 # def story(**kwargs): 4 # return 'Once upon a time,there was a ' 5

Python3 对文件操作

计算机文件 在计算机系统中,以硬盘为载体存储在计算机上的信息集合称为文件.文件可以是文本文档.图片.声音.程序等多种类型.在编程时经常要对文件进行读写等操作, 从程序员的视角可以把文件理解为是连续的字节序列,进行数据传输需要使用字节流, 字节流可以是由单个字节或大块数据组成.文件类型通常分为文本文件和二进制文件. 文件操作 在 Python中对文件进行操作分为3个步骤,首先要打开文件,然后是对文件进行读写操作,最后需要关闭文件. 打开文件---open函数 你必须先用Python内置的open(

【python3之文件操作】

一.文件操作 1.文件处理的流程 1)打开文件,得到文件句柄并赋值给一个变量 2)通过句柄对文件进行操作 3)关闭文件 例如: f = open('chenli.txt') #打开文件 first_line = f.readline() print('first line:',first_line) #读一行 data = f.read()# 读取剩下的所有内容,文件大时不要用 print(data) #打印读取内容 f.close() #关闭文件 2.文件操作基本用法 1)基本用法: file

python3.0 第三天 文件操作

文件操作 对文件操作流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 现有文件如下 Somehow, it seems the love I knew was always the most destructive kind 不知为何,我经历的爱情总是最具毁灭性的的那种 Yesterday when I was young 昨日当我年少轻狂 The taste of life was sweet 生命的滋味是甜的 As rain upon my tongue 就如舌

python3文件操作

文件操作流程 1.打开文件 f = open('hello.txt', 'r') # 以相应的模式打开文件'hello.txt' 'r' 读模式,不可写 'w' 写模式,不可读;如果文件不存在,则创建文件; 如果文件存在,则清空文件里的内容,并从头开始写入新内容 'a' 写模式,不可读;如果文件不存在,则创建文件;如果文件存在,则在文件末尾写入新内容 'r+' 读写模式,可读写;可读光标位置在0;当要写入内容时,在文件末尾添加 'w+' 写读模式,可读写;如果文件不存在,则创建文件; 如果文件存