Python入门基础系列(十三)——文件的读写操作
off999 2024-09-23 11:29 22 浏览 0 评论
Python文件处理是程序员和自动化测试人员的基本主题之一。因为它们都需要使用文件来编写文件或从中读取数据。另外,如果您还没有意识到,I/O操作是程序可能出错的地方。因此,在实现报告或其他用途的文件处理时,应该非常小心。优化单个文件操作可以帮助您生成高性能的应用程序或自动化软件测试的健壮稳定的解决方案。
我们举一个例子,比方说您将在Python中创建一个包含大型项目的工作流程。那么,你很有必要创建一个日志文件。而且您还将对日志文件执行读取/写入操作。日志文件是调试大型程序的好工具。从一开始就考虑可扩展设计总是更好,因为稍后您不会后悔自己没有这样做。
以下是Python中文件处理的基本定义:“ 文件是系统存储器上的一个命名位置,用于记录数据以供以后访问。它可以在非易失性存储器(即硬盘)中实现持久存储。“
使用Python复制文件的 9种方法。
在Python中,文件处理按以下顺序进行。
1.打开一个返回文件句柄的文件。
2.使用句柄来执行读取或写入操作。
3.关闭文件句柄。
在使用Python对文件进行读或写操作之前,需要先打开它。随着读/写事务完成,您应该关闭它以释放与该文件绑定的资源。
在接下来的部分中,我们将逐一介绍所有Python文件处理主题。由于它是一个基于示例的Python教程,所以您最好打开一个Python控制台来测试代码。
首先,让我们看看本篇文章中涵盖的Python文件处理的目录。
本篇文章目录:
1.用Python打开一个文件
a)Python open()文件方法
b)在Python中打开打开模式
c)Python文件对象属性
例如:Python文件属性正在运行
d)Python文件编码
2.用Python关闭文件
a)Python close()文件方法
i.示例-1:Python中的基本关闭操作
ii.示例2:在Python中使用异常与关闭操作
iii.示例-3:在Python中使用'with'子句关闭文件
3.Python写入操作
a)write()文件方法
i.示例:用Python写入文件
4.Python读取操作
a)示例:从Python中的文件读取
5.在Python中读取文件的位置
a)示例:在Python中设置偏移量
6.在Python中重命名和删除文件
a)rename()方法
b)remove()方法
7.Python文件对象方法
1- Python文件处理:用Python打开文件
要读取或写入文件,您需要先打开它。要在Python中打开文件,请使用其构建的open()函数。这个函数返回一个文件对象,即句柄。您可以使用它来读取或修改文件。
1.1-Python Open()文件方法
1.2-
file object = open(file_name [, access_mode][, buffering])
以下是参数详情。
<access_mode> -它是一个表示文件打开模式的整数,例如读取,写入,追加等。它是一个可选参数。默认情况下,它被设置为只读<r>。在这种模式下,我们从文件中读取文本形式的数据。另一方面,二进制模式返回字节。访问非文本文件比如图像或Exe文件是最好的。请参阅下一节中的表格。它列出了可用的访问模式。
< buffering > -默认值为0,这意味着不会发生缓冲。如果该值为1,则在访问文件时会进行行缓冲。如果它大于1,那么缓冲操作将按照缓冲区大小运行。在负值的情况下,考虑默认行为。
<file_name> -这是一个字符串,表示您想要访问的文件的名称。
1.2-在Python中文件的打开模式
1.3- Python文件对象属性
当你调用Python open()函数时,它会返回一个文件句柄的对象。另外,你应该知道Python文件有几个链接属性。我们可以利用文件句柄来列出它所属文件的属性。
有关文件属性的更多信息,请参阅下表。
例如:Python文件属性正在运行。
File name: app.log
File state: False
Opening mode: wb
Softspace flag: 0
1.4- Python文件编码
在Python 3.x中,字符串(文本)和字节(8位)之间有明显的区别。它指出,字符'a'不代表ASCII值97,直到你指定它。所以,当你想在文本模式下使用文件时,最好提一下正确的编码类型。
另外,Python在磁盘上以字节的形式存储文件,因此您需要在读取之前使用字符串对它们进行解码。而且,类似地,在将文本写入文件时对它们进行编码。
默认情况下,Python支持平台相关的编码。因此,如果你不改变它,那么它被设置为Windows的<cp1252>和Linux的<utf-8>。
因此,文档说在Python中打开文件时引用所需的编码。请参阅下面的Python代码片段。
f = open ('app.log' ,mode = 'r' ,encoding = 'utf-8' )
有关说明,您应该在Python 2.x中导入<io>模块以启用编码功能。Python 3.x是隐式的。
2- Python文件处理:用Python关闭文件
工作完成后关闭文件始终是最佳做法。但是,Python运行垃圾收集器来清理未使用的对象。但是你必须自己做,而不要把它留给GC。
文件操作的Close()方法
Python提供了<close()>方法来关闭文件。
在关闭文件时,系统释放分配给它的所有资源。而且这很容易实现。
请参阅下面的代码片段。
示例-1:Python中的基本关闭操作
最基本的方法是调用Python close()方法
f = open("app.log",encoding = 'utf-8')
f.close()
示例2:在Python中使用异常与关闭操作
假设在文件上执行某些操作时发生异常。在这种情况下,代码退出而不关闭文件。所以最好把代码放在一个<try-finally>块中。
所以,即使出现异常,上面的代码将确保您的文件正确关闭。
示例-3:在Python中使用'With'子句关闭文件
另一种关闭文件的方法是使用with语句。它确保当with语句中的块执行完成时文件被关闭。这种方法的优点在于它不需要明确调用close()方法。
with open('app.log', encoding = 'utf-8') as f:
3- Python文件处理:执行写入操作
在准备将数据写入文件时,首先使用模式(read/write/append)打开它。在这里查看所有可用文件模式的列表。
您甚至可以使用追加模式执行相同操作。另外,如果您使用了<w>模式,那么它将从文件中清除现有的数据。所以当你选择它时你必须注意到这个事实。
Write()文件方法。
Python提供了write() 方法来将字符串或字节序列写入文件。此函数返回一个数字,它是在单个写入调用中写入的数据的大小。
示例:使用Python读取/写入文件。
4- Python文件处理:执行读取操作
要从文件中读取数据,首先,您需要以阅读模式打开它。然后,您可以调用Python提供的用于从文件读取的任何方法。
通常,您可以使用Python <read(size)>函数来读取文件大小的内容。如果你没有明确读取大小,那么它会读取整个文件。
示例:从Python中的文件读取
5- Python文件处理:文件读取位置
<tell()>方法为您提供文件中文件指针的当前偏移量。
<seek(offset [,from])>方法可以帮助您更改文件中文件指针的位置。
<offset>参数表示位移的大小,而<from>参数表示起点。
如果<from>值为0,那么移位将从根级开始。如果值为1,则参考位置将成为当前位置。而且,如果它是2,那么文件的结尾将作为参考位置。
示例:在Python中设置偏移量
6- Python文件处理:在Python中重命名和删除文件
当你使用<read/write>函数时,你可能还需要在Python中重命名/删除一个文件。所以,Python中有一个<os>模块,它支持文件<rename / delete>操作.因此您首先应该在您的Python脚本中导入<os>模块。
Rename()文件方法
os.rename(cur_file, new_file)
<rename()>方法接受两个参数,即当前文件名和新文件名。
以下是将现有文件<app.log>重命名为<app1.log>的示例。
Remove()文件方法
os.remove(file_name)
<remove()>方法删除方法中传入的指定文件.
以下是删除现有文件<app1.log>的示例。
7- Python文件处理:文件对象方法
到目前为止,我们只与您分享了一些可用于Python中的文件处理的功能。但是Python文件处理的方法还有更多。由于Python的open()方法返回一个我们称之为文件句柄的对象。所以,Python包含了一系列方法使您可以使用此对象对文件进行操作.
本章小结——文件的读写操作
我们希望上面的Python文件处理教程能帮助你更好的学习Python。如果您希望阅读更多这样的文章,那么请进一步分享本文章。
本系列文章列表:
相关推荐
- python入门到脱坑经典案例—清空列表
-
在Python中,清空列表是一个基础但重要的操作。clear()方法是最直接的方式,但还有其他方法也可以实现相同效果。以下是详细说明:1.使用clear()方法(Python3.3+推荐)...
- python中元组,列表,字典,集合删除项目方式的归纳
-
九三,君子终日乾乾,夕惕若,厉无咎。在使用python过程中会经常遇到这四种集合数据类型,今天就对这四种集合数据类型中删除项目的操作做个总结性的归纳。列表(List)是一种有序和可更改的集合。允许重复...
- Linux 下海量文件删除方法效率对比,最慢的竟然是 rm
-
Linux下海量文件删除方法效率对比,本次参赛选手一共6位,分别是:rm、find、findwithdelete、rsync、Python、Perl.首先建立50万个文件$testfor...
- 数据结构与算法——链式存储(链表)的插入及删除,
-
持续分享嵌入式技术,操作系统,算法,c语言/python等,欢迎小友关注支持上篇文章我们讲述了链表的基本概念及一些查找遍历的方法,本篇我们主要将一下链表的插入删除操作,以及采用堆栈方式如何创建链表。链...
- Python自动化:openpyxl写入数据,插入删除行列等基础操作
-
importopenpyxlwb=openpyxl.load_workbook("example1.xlsx")sh=wb['Sheet1']写入数据#...
- 在Linux下软件的安装与卸载(linux里的程序的安装与卸载命令)
-
通过apt安装/协助软件apt是AdvancedPackagingTool,是Linux下的一款安装包管理工具可以在终端中方便的安装/卸载/更新软件包命令使用格式:安装软件:sudoapt...
- Python 批量卸载关联包 pip-autoremove
-
pip工具在安装扩展包的时候会自动安装依赖的关联包,但是卸载时只删除单个包,无法卸载关联的包。pip-autoremove就是为了解决卸载关联包的问题。安装方法通过下面的命令安装:pipinsta...
- 用Python在Word文档中插入和删除文本框
-
在当今自动化办公需求日益增长的背景下,通过编程手段动态管理Word文档中的文本框元素已成为提升工作效率的关键技术路径。文本框作为文档排版中灵活的内容容器,既能承载多模态信息(如文字、图像),又可实现独...
- Python 从列表中删除值的多种实用方法详解
-
#Python从列表中删除值的多种实用方法详解在Python编程中,列表(List)是一种常用的数据结构,具有动态可变的特性。当我们需要从列表中删除元素时,根据不同的场景(如按值删除、按索引删除、...
- Python 中的前缀删除操作全指南(python删除前导0)
-
1.字符串前缀删除1.1使用内置方法Python提供了几种内置方法来处理字符串前缀的删除:#1.使用removeprefix()方法(Python3.9+)text="...
- 每天学点Python知识:如何删除空白
-
在Python中,删除空白可以分为几种不同的情况,常见的是针对字符串或列表中空白字符的处理。一、删除字符串中的空白1.删除字符串两端的空白(空格、\t、\n等)使用.strip()方法:s...
- Linux系统自带Python2&yum的卸载及重装
-
写在前面事情的起因是我昨天在测试Linux安装Python3的shell脚本时,需要卸载Python3重新安装一遍。但是通过如下命令卸载python3时,少写了个3,不小心将系统自带的python2也...
- 如何使用Python将多个excel文件数据快速汇总?
-
在数据分析和处理的过程中,Excel文件是我们经常会遇到的数据格式之一。本文将通过一个具体的示例,展示如何使用Python和Pandas库来读取、合并和处理多个Excel文件的数据,并最终生成一个包含...
- 【第三弹】用Python实现Excel的vlookup功能
-
今天继续用pandas实现Excel的vlookup功能,假设我们的2个表长成这样:我们希望把Sheet2的部门匹在Sheet1的最后一列。话不多说,先上代码:importpandasaspd...
- python中pandas读取excel单列及连续多列数据
-
案例:想获取test.xls中C列、H列以后(当H列后列数未知时)的所有数据。importpandasaspdfile_name=r'D:\test.xls'#表格绝对...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python自定义函数 (53)
- python进度条 (67)
- python吧 (67)
- python字典遍历 (54)
- python的for循环 (65)
- python格式化字符串 (61)
- python串口编程 (60)
- python读取文件夹下所有文件 (59)
- java调用python脚本 (56)
- python操作mysql数据库 (66)
- python字典增加键值对 (53)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python人脸识别 (54)
- python多态 (60)
- python命令行参数 (53)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)