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

yizhihongxing

下面为你讲解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 scipy的二维图像卷积运算与图像模糊处理操作示例

    针对“Python scipy的二维图像卷积运算与图像模糊处理操作示例”,下面是完整攻略。本文主要介绍如何使用Python中的scipy库对二维图像进行卷积运算和图像模糊处理,包括示例说明。 一、卷积运算 1.1 卷积概念 卷积是一种在信号和图像处理中广泛使用的数学运算。在二维图像中,卷积可以处理一些图像滤波、边缘检测和特征提取等任务。 卷积的基本思想是对每…

    python 2023年6月5日
    00
  • python用tkinter实现一个gui的翻译工具

    下面是详细讲解“Python用Tkinter实现一个GUI的翻译工具”的完整攻略。 1. 确定需求 在开始编写Python GUI应用之前,需要先确定应用的功能和界面设计。在这个例子中,我们需要一个翻译工具的GUI界面,用户可以输入需要翻译的文本,然后选择翻译的源语言和目标语言进行翻译,并将翻译结果显示在GUI界面上。 为了实现这个应用,我们需要调用第三方翻…

    python 2023年6月3日
    00
  • python如何每天在指定时间段运行程序及关闭程序

    针对你的问题,我可以为你提供以下几种方案: 方案一:使用crontab定时任务 编写Python程序,该程序包含需要在指定时间段运行的任务; 打开终端,输入命令crontab -e打开定时任务编辑; 在最后一行添加定时任务,格式为:* * * * * python /path/to/your/script.py,其中星号表示每个时间段均执行,如果需要指定特定…

    python 2023年6月2日
    00
  • python判断所输入的任意一个正整数是否为素数的两种方法

    确切判断一个数是否为素数一直是程序设计中的一个经典问题。接下来我们将介绍两种使用python实现判断正整数是否为素数的方法。 方法一:暴力枚举法 所谓暴力枚举法,即遍历2到n-1之间的所有自然数,如果n能被其中任何一个数整除,则n就不是素数。该方法的实现代码如下: def is_prime(n): if n < 2: return False for …

    python 2023年6月3日
    00
  • 基于python分享极坐标下的几类典型曲线

    基于Python分享极坐标下的几类典型曲线完整攻略如下: 一、背景介绍 随着数据可视化在各领域的广泛应用,Python中的matplotlib包也成为了常用的数据可视化工具之一。极坐标是matplotlib的一个常用功能之一,我们可以使用它来绘制一些典型的曲线图形,例如花瓣曲线、螺旋线等。本文将会介绍几种在极坐标下的典型曲线及其代码实现。 二、花瓣曲线 花瓣…

    python 2023年5月18日
    00
  • Python中itertools库的四个函数介绍

    下面是Python中itertools库的四个函数介绍的完整攻略。 一、介绍 Python标准库中的itertools模块提供了很多用于生成迭代器的函数,这些函数可以大大简化代码,并且可以更高效地处理大型数据集。本文将介绍itertools库中的四个常见函数。 二、cycle函数 cycle函数用于将迭代器无限重复下去,通常用于轮换器中。下面是一个简单的示例…

    python 2023年6月3日
    00
  • Python生成器(Generator)详解

    Python生成器(Generator)详解 生成器的定义 Python中的生成器(Generator)是一种特殊的迭代器,可以通过函数来创建。生成器函数返回一个内部状态,这个状态可以在函数每次被调用时更新,因此生成器可以暂停和恢复执行。这种行为通常称为协程。 生成器的实现 Python生成器可以通过使用yield语句进行实现。在Python中,yield语…

    python 2023年5月13日
    00
  • Python 离线工作环境搭建的方法步骤

    下面是Python离线工作环境搭建的方法步骤: 环境准备 首先,我们需要一台联网电脑,在网上下载Python所需的安装包文件,以及Python所需要的第三方库以及对应的依赖库。将这些文件保存到本地,得到离线安装包。 离线安装Python 安装Python时需要在离线环境下使用命令行进行安装,所以需要打开命令行工具。 进入Python安装包所在目录,解压安装包…

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