美文网首页
基于python的文件操作

基于python的文件操作

作者: 潇洒坤 | 来源:发表于2019-01-08 14:17 被阅读115次

0.前言

类似于数据库的基本操作增删改查,工作中会经常出现使用python完成文件操作。
本文作者实现文件操作相关函数。

1.增

1.1 写入内容给文本文件

def writeTextFile(filePath, fileContent, encoding='utf8'):
    with open(filePath, 'w', encoding=encoding) as file:
        file.write(fileContent)

2.删

2.1 删除文件夹

本文作者使用过shutil库的rmtree函数, 此函数经常报错OS Error,所以自己编写deleteDirectory函数。

import os
def deleteDirectory(dirPath):
    for walk in os.walk(dirPath):
        dirPath_2 = walk[0]  
        fileName_list = walk[2]
        for fileName in fileName_list:
            filePath = os.path.join(dirPath_2, fileName)
            os.remove(filePath)
    for walk in os.walk(dirPath):
        dirPath_2 = walk[0]      
        dirName_list = walk[1]
        for dirName in dirName_list:
            dirPath_3 = os.path.join(dirPath_2, dirName)
            os.rmdir(dirPath_3)
    if os.path.isdir(dirPath):
        os.rmdir(dirPath)

3.改

3.1 批量修改图片大小

import os
from PIL import Image

def getFilePathList(dirPath, partOfFileName=''):
    allFileName_list = list(os.walk(dirPath))[0][2]
    fileName_list = [k for k in allFileName_list if partOfFileName in k]
    filePath_list = [os.path.join(dirPath, k) for k in fileName_list]
    return filePath_list

def batchResizeImage(oldDirPath, newDirPath, height, width):
    if not os.path.isdir(newDirPath):
        os.mkdir(newDirPath)
    jpgFilePath_list = getFilePathList(oldDirPath, '.jpg')
    for jpgFilePath in jpgFilePath_list:
        image = Image.open(jpgFilePath)
        resized_image = image.resize((height, weight), Image.ANTIALIAS)
        jpgFileName = os.path.split(jpgFilePath)[1]
        saveFilePath = os.path.join(newDirPath, jpgFileName)
        resized_image.save(saveFilePath)
        
oldDirPath = 'source_images'
newDirPath = 'train_images'
height = 640
width = 640
batchResizeImage(oldDirPath, newDirPath, height, width)

4.查

4.1 查询文件夹中的文件

import os

def getFileNameList(dirPath, partOfFileName=''):
    allFileName_list = list(os.walk(dirPath))[0][2]
    fileName_list = [k for k in allFileName_list if partOfFileName in k]
    return fileName_list
    
def getFilePathList(dirPath, partOfFileName=''):
    allFileName_list = list(os.walk(dirPath))[0][2]
    fileName_list = [k for k in allFileName_list if partOfFileName in k]
    filePath_list = [os.path.join(dirPath, k) for k in fileName_list]
    return filePath_list

4.2 读取文本文件

def readTextFile(filePath, encoding='utf8'):
    with open(filePath, encoding=encoding) as file:
        return file.read()

4.3 搜索文件夹路径内含有指定内容的代码文件

传入3个参数:文件夹路径dirPath、指定内容partOfFileContent、代码文件后缀名suffixOfFileName

import os

def searchFileContent(dirPath, partOfFileContent, suffixOfFileName=''):
    dirPath = os.path.expanduser(dirPath)
    walk_list = list(os.walk(dirPath))
    result_list = []
    for walk in walk_list:
        filePath_list = [os.path.join(walk[0], k) for k in walk[2] \
            if k.rsplit('.', maxsplit=1)[1]==suffixOfFileName.strip('.')]
        for filePath in filePath_list:
            with open(filePath, encoding='=utf8') as file:
                fileContent = file.read()
            if partOfFileContent in fileContent:W
                print(filePath)
                result_list.append(filePath)
    return result_list

相关文章

  • 基于python的文件操作

    0.前言 类似于数据库的基本操作增删改查,工作中会经常出现使用python完成文件操作。本文作者实现文件操作相关函...

  • 14.Python之文件操作

    Python之文件操作 文件操作通过Python中的内置函数open()对文件进行操作。文件操作需要如下几个参数:...

  • 第二节课:Python 操作文件 ——软件测试派

    学习目标:掌握 python 操作文件 python 提供内置函数 open()实现对文件的操作。 python ...

  • 解析Python中的文件操作

    1.简介 在Python中无需引入额外的模块来进行文件操作,Python拥有内置的文件操作函数(除了内置文件操作函...

  • 《基于UNIX/Linux的C系统编程》

    第二章 文件操作 1. 在UNIX系统中,对文件的操作方法有两种:基于标准库函数的文件操作和基于系统调用的文件操作...

  • Python 文件操作

    一. Python 读写 创建文件 Python中对文件,文件夹(文件操作函数)的操作需要涉及到OS 模块和 sh...

  • Python遍历目录并操作文件

    今天来使用python操作文件,包括根据模式查找文件、删除文件操作。 完整代码托管在python/find...

  • NSFileManager类

    文件操作 基于NSFileManager类,允许用户对文件进行基本操作。这些操作包括:创建新的文件、读取文件、对文...

  • python常用文件操作总结

    python 移动文件或文件夹操作。python中对文件、文件夹操作时经常用到的os模块和shutil模块常用方法...

  • python--文件的基本操作

    python编程中,文件是必不可少的。下面我们来学习python中文件的基本操作。 文件的基本操作: 在pytho...

网友评论

      本文标题:基于python的文件操作

      本文链接:https://www.haomeiwen.com/subject/xtixrqtx.html