欢迎大家来到IT世界,在知识的湖畔探索吧!
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入门基础系列(一)——开发工具的选择
-
Python入门基础系列(二)——环境搭建
-
Python入门基础系列(三)——关键字,标识符和变量
-
Python入门基础系列(四)——语句,表达式和缩进
-
Python入门基础系列(五)——单行和多行注释
-
Python入门基础系列(六)——基本数据类型
-
Python入门基础系列(七)——数字和类型转换
-
Python入门基础系列(八)——列表
-
Python入门基础系列(九)——运算符
-
Python入门基础系列(十)——运算符的优先级
-
Python入门基础系列(十一)——命名空间及作用域
-
Python入门基础系列(十二)——字符串
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/22201.html