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判断是否json是否包含一个key的方法

    判断一个json对象是否包含某个key的方法在Python中有很多种,下面给出两种常见的方法: 使用in关键字 使用in关键字可以非常简单地判断一个json对象是否包含某个key,示例如下: import json data = ‘{"name": "John", "age": 30, "…

    python 2023年6月3日
    00
  • python实现动态规划算法的示例代码

    Python实现动态规划算法的完整攻略 动态规划算法是一种常用的算法,它可以用于解决多种实际问题。在本文中,我们将介绍动态规划算法的基本原理,并提供两个示例,以说明如何使用Python实现动态规划算法。 动态规划算法的基本原理 动态规划算法是一种通过将问题解成子问题来求解复杂问题的算法。在动态规划算法中,我们通常使用一个数组来存储子问题的解,避免重复计算。动…

    python 2023年5月14日
    00
  • Bootstrap树形菜单插件TreeView.js使用方法详解

    Bootstrap树形菜单插件TreeView.js使用方法详解 简介 Bootstrap是一个流行的前端框架,提供了丰富的UI组件,包括菜单组件。Bootstrap菜单组件提供了多样的展示效果,包括树形菜单。而TreeView.js是一款基于Bootstrap的树形菜单插件,使得树形菜单功能更加强大且易于实现。 安装 TreeView.js需要依赖于Boo…

    python 2023年6月13日
    00
  • python scipy 稀疏矩阵的使用说明

    下面是关于“pythonscipy稀疏矩阵的使用说明”的完整攻略。 简介 稀疏矩阵指的是矩阵中大量元素为零的情况,对于这种情况我们可以使用稀疏矩阵来进行优化,从而节省存储空间与提高计算效率。在 Python 中,SciPy 提供了稀疏矩阵的处理方法,包括 CSR,CSC,DIA,COO,BSCOE 和 LIL 等稀疏矩阵格式。下面将介绍这其中部分的使用方法。…

    python 2023年5月13日
    00
  • Python 相对路径报错:”No such file or directory”‘原因及解决方法

    当我们在Python编程过程中,有时会遇到相对路径报错的问题,例如”No such file or directory”。这通常是由于相对路径不正确或文件不存在等因引起的。以下是一些常见的相对路径报错的解决案: 1. 检查相对路径 如果在Python编程过程中到了类似以下的报错: FileNotFoundError: [no 2] No such file …

    python 2023年5月13日
    00
  • Python编程利用科赫曲线实现三维飘雪效果示例过程

    首先,需要明确一下科赫曲线和三维飘雪效果的概念。 科赫曲线是一种无限迭代的分形曲线,是由简单的线段不断缩放、旋转和复制形成的,具有自相似和自同构的性质。它可以用递归函数实现,是非常具有美感和趣味性的数学曲线。 三维飘雪效果是指将二维的雪花动画效果转化为三维的立体效果,通过模拟雪花在空中的运动和旋转,使整个效果更加逼真和有趣。 现在,我们来详细讲解一下如何利用…

    python 2023年5月19日
    00
  • Python实现简单猜拳游戏

    Python实现简单猜拳游戏攻略 1. 思路与流程 首先从键盘输入玩家出拳 计算电脑出拳,并对比胜负 判断胜者,输出胜者和输赢结果 2. 代码实现 首先需要引入random模块来生成电脑随机出拳,引入如下代码: import random 接下来,使用input()函数从键盘输入玩家出拳,可以按照如下代码实现: player = input("请输…

    python 2023年6月13日
    00
  • Python 创建空的list,以及append用法讲解

    以下是详细讲解“Python创建空的list,以及append用法讲解”的完整攻略。 在Python中,列表是一种常用的数据类型,可以用来存储一组有序的数据。本文将介绍如何创建空的list,并详细讲解append()方法的用法,并提供两个示例说明。 创建空的list 可以使用以下两种方法来创建空的list: 1. 直接使用中括号 lst = [] 上述代码演…

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