Python打开文件、文件读写操作、with方式、文件常用函数实例分析

下面为你讲解Python文件读写相关的内容。

Python打开文件

在Python中打开文件有两种常见的方式,分别是使用内置函数open()和使用第三方库pathlib。下面分别进行讲解。

open函数

open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
  • file:文件路径,可以是相对路径或绝对路径。
  • mode:打开模式,包括读取模式(r)、写入模式(w)、追加模式(a)等。
  • encoding:文件编码格式,默认是None,采用系统默认编码格式。
  • errors:指定编码错误处理方式,例如'ignore'表示忽略错误。
  • newline:指定文件的新行字符,用于读取文件和写入文件时的行分隔符。
  • closefd:Boolean型,表示是否在文件关闭时同时关闭文件描述符(默认为True)。

示例1:使用open函数读取文本文件

try:
    with open("test.txt", "r", encoding="utf-8") as f:
        data = f.read()
        print(data)
except IOError:
    print("打开文件失败!")

示例2:使用open函数写入文本文件

try:
    with open("test.txt", "w", encoding="utf-8") as f:
        f.write("Hello, World!")
except IOError:
    print("写入文件失败!")

pathlib库

pathlib是Python内置的文件路径操作库,提供了Path类,可以方便地进行文件操作。它可以用于检查文件是否存在、读取文件内容、写入、删除等常见的文件操作。

示例3:使用pathlib库读取文件内容

from pathlib import Path

try:
    p = Path("test.txt")
    with p.open("r", encoding="utf-8") as f:
        data = f.read()
        print(data)
except IOError:
    print("打开文件失败!")

示例4:使用pathlib库写入文件内容

from pathlib import Path

try:
    p = Path("test.txt")
    with p.open("w", encoding="utf-8") as f:
        f.write("Hello, World!")
except IOError:
    print("写入文件失败!")

文件读写操作

文件读写是常见的操作,Python提供了多种读写方式。

读文件

  • read():读取文件中的所有内容,返回字符串。如果读取的是二进制文件,返回包含整个文件数据的字节串。
  • readline():读取文件的一行,返回字符串。
  • readlines():读取文件的所有行,返回字符串列表。

示例5:使用read方式读取文件内容

try:
    with open("test.txt", "r", encoding="utf-8") as f:
        data = f.read()
        print(data)
except IOError:
    print("打开文件失败!")

示例6:使用readline方式读取文件内容

try:
    with open("test.txt", "r", encoding="utf-8") as f:
        data = f.readline()
        print(data)
except IOError:
    print("打开文件失败!")

示例7:使用readlines方式读取文件内容

try:
    with open("test.txt", "r", encoding="utf-8") as f:
        data = f.readlines()
        print(data)
except IOError:
    print("打开文件失败!")

写文件

  • write(data):向文件中写入字符串数据。如果文件不存在,则创建文件。
  • writelines(lines):向文件中写入字符串列表。如果文件不存在,则创建文件。

示例8:使用write方式向文件中写入内容

try:
    with open("test.txt", "w", encoding="utf-8") as f:
        f.write("Hello, World!")
except IOError:
    print("写入文件失败!")

示例9:使用writelines方式向文件中写入内容

try:
    with open("test.txt", "w", encoding="utf-8") as f:
        lines = ["Hello, ", "World!"]
        f.writelines(lines)
except IOError:
    print("写入文件失败!")

with方式

Python提供了with语句,可以更方便地管理打开的文件资源,同时自动关闭文件。

with语句的语法:

with open(file_path, "mode") as f:
    # do something

实际上,Python打开文件时会为其分配一个文件描述符,with语句执行过程中将会自动关闭这个文件描述符,无需手动调用close()函数。

示例10:使用with语句读取文件内容

try:
    with open("test.txt", "r", encoding="utf-8") as f:
        data = f.read()
        print(data)
except IOError:
    print("打开文件失败!")

示例11:使用with语句写入文件内容

try:
    with open("test.txt", "w", encoding="utf-8") as f:
        f.write("Hello, World!")
except IOError:
    print("写入文件失败!")

文件常用函数实例分析

Python提供了大量的文件操作函数,下面为你介绍一些常用的函数。

获取文件或目录信息

  • os.path.isfile(path):判断给定路径是否为文件,返回布尔值。
  • os.path.isdir(path):判断给定路径是否为目录,返回布尔值。
  • os.path.exists(path):判断给定路径是否存在,返回布尔值。
  • os.path.getsize(path):获取文件大小,返回字节数。
  • os.path.getatime(path):获取文件的最近访问时间。
  • os.path.getmtime(path):获取文件的最近修改时间。

示例12:获取文件大小

import os

size = os.path.getsize("test.txt")
print(size)

删除文件或目录

  • os.remove(path):删除文件。
  • os.rmdir(path):删除空目录。
  • shutil.rmtree(path):删除目录及其所有子目录和文件。

示例13:删除文件

import os

os.remove("test.txt")

示例14:删除目录

import shutil

shutil.rmtree("test_dir")

改变文件名或移动文件

  • os.rename(src, dst):将文件或目录从src重命名为dst。
  • shutil.move(src, dst):将文件或目录从src移动到dst。

示例15:重命名文件

import os

os.rename("test.txt", "test_rename.txt")

示例16:移动文件

import shutil

shutil.move("test.txt", "./new_dir/test.txt")

以上就是Python文件读写的基础,希望能帮助到你。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python打开文件、文件读写操作、with方式、文件常用函数实例分析 - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • 一文解决Python切换版本问题

    一文解决Python切换版本问题 背景 在开发Python应用程序时,我们常常需要切换不同版本的Python环境,以满足不同的开发需求。 但是,每次手动切换Python环境非常麻烦。如果我们想要快速简便地切换Python环境,该怎么办呢? 解决方案 我们可以使用工具 pyenv 来管理Python环境。pyenv 可以方便地安装、切换和管理不同版本的Pyth…

    python 2023年5月14日
    00
  • Python读取指定目录下指定后缀文件并保存为docx

    以下是Python读取指定目录下指定后缀文件并保存为docx的完整攻略。 1. 准备工作 首先,我们需要准备一个Python环境,并安装python-docx库。在安装之前,我们需要确认是否已经安装了pip。如果没有,可以按照以下步骤安装: 在 Linux 或 Mac 系统上安装 pip sudo easy_install pip 在 Windows 系统上…

    python 2023年6月5日
    00
  • numpy array找出符合条件的数并赋值的示例代码

    在 numpy 中,可以使用条件语句找出符合条件的数并进行赋值。下面我将提供两个示例说明。 示例一 假设我们有一个一维数组 a,我们需要将其中大于 5 的数替换为 0。 import numpy as np a = np.array([2, 4, 6, 8, 9, 7]) # 找出大于 5 的数的下标 mask = a > 5 # 将符合条件的数赋值为…

    python 2023年6月5日
    00
  • Python爬虫之urllib库详解

    Python爬虫之urllib库详解 什么是urllib库 urllib库是Python内置的HTTP请求库,包含了一组简单的API,可以用来发送GET、POST、PUT、DELETE、HEAD等HTTP请求,支持处理URL、Cookie、代理、验证、浏览器标识等常见的HTTP请求需求。 urllib库的常见模块 urllib库包含了四个常用的模块,分别是:…

    python 2023年5月14日
    00
  • python从入门到精通(DAY 3)

    Python从入门到精通(DAY 3)攻略 在这篇文章中,我们将讨论《Python从入门到精通》的第三天学习内容,包括: 字符串的基本操作 字符串切片 字符串的常用方法 如果您已经掌握了Python的基础语法,下面我们将带您详细了解这些内容。 字符串的基本操作 在Python中,用单引号或双引号来表示一个字符串。例如: str1 = ‘hello world…

    python 2023年5月13日
    00
  • 浅谈python中常用的excel模块库

    下面是针对“浅谈Python中常用的Excel模块库”的实例教程。 一、常用的Excel模块库简介 Excel是一个非常常用的数据处理工具,对于数据分析和处理有着非常重要的作用。为了更好地使用Python对Excel进行数据处理,我们常常需要使用到Excel模块库。下面是Python中常用的Excel模块库: openpyxl:一个专门为Excel 2010…

    python 2023年5月13日
    00
  • Python+PuLP实现线性规划的求解

    下面是Python+PuLP实现线性规划的求解的完整攻略。 什么是线性规划? 线性规划是指在一定限制条件下,使某一目标函数达到最大或最小值的问题。线性规划问题可以表示为: $$\max_{x}c^Tx$$ $$s.t.\ \ Ax\le b$$ 其中,$x$为变量向量,$c$为目标函数系数向量,$A$为约束系数矩阵,$b$为约束条件向量。 PuLP简介 Pu…

    python 2023年6月5日
    00
  • 详解Python中DOM方法的动态性

    给出“详解Python中DOM方法的动态性”的攻略如下: 1. 什么是DOM? DOM(Document Object Model)是一种文档对象模型,它是一种以树形结构作为基础的文档表示方法,可以用JavaScript或Python等编程语言来操作HTML或XML文档的内容和结构。 2. 动态性的含义 在Python中,DOM方法是动态的,这意味着当我们对…

    python 2023年6月3日
    00
合作推广
合作推广
分享本页
返回顶部