编程技术是改变世界的力量。
本站
当前位置:网站首页 > 后端语言 > 正文

Python入门基础系列(十三)——文件的读写操作

gowuye 2024-04-25 04:44 10 浏览 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。如果您希望阅读更多这样的文章,那么请进一步分享本文章。

本系列文章列表:

相关推荐

Nginx 响应提速10倍,你需要知道的缓存性能优化——FastCGI调优
Nginx 响应提速10倍,你需要知道的缓存性能优化——FastCGI调优

Nginx缓存优化是帮助大家提升网站性能的重要操作之一,proxy_cache主要用于反向代理时,对后端内容源服务器进行缓存;fastcgi_cache主要用于...

2024-05-20 14:44 gowuye

王者荣耀天魔缭乱和逐梦之音返场活动地址 3月22日开启返场活动
王者荣耀天魔缭乱和逐梦之音返场活动地址 3月22日开启返场活动

王者荣耀官方终于确定了天魔缭乱和逐梦之音的返场活动,这让不少小伙伴乐开了花,返场活动将会在3月22日开启,下面就带来王者荣耀天魔缭乱和逐梦之音返场活动地址!王者...

2024-05-20 14:44 gowuye

常见的嵌入式web服务器有哪些?

嵌入式WEB服务器常见的有:Lighttpd,Shttpd,Thttpd,Boa,Mini_httpd,Appweb,Goahead。Lighttpd地址:http://www.light...

简述几款常见的嵌入式web服务器
简述几款常见的嵌入式web服务器

嵌入式web服务器,是web服务器当中的一种,是基于嵌入式系统而实现的web服务器。指的是在嵌入式系统(通俗点就是单片机系统)上实现的一个web服务器,可以通过...

2024-05-20 14:44 gowuye

教你如何利用fastcgi_cache缓存加速WordPress

在使用nginx缓存之前,必须在nginx里面加载专门的模块,这个模块叫做ngx_cache_purge。添加ngx_cache_purge模块下载ngx_cache_purge模块ngx_cache...

扫描WordPress漏洞

检测已知漏洞WPScan是一款广泛使用的WordPress安全扫描工具,它的一项重要功能是检测已知漏洞。在这篇文章中,我们将深入探讨WPScan如何检测已知漏洞,并结合实际示例,帮助读者更好地理解和应...

消灭 Bug!推荐几个给力的开源 Bug 跟踪工具
消灭 Bug!推荐几个给力的开源 Bug 跟踪工具

在这个充满bug的世界里,最遥远的距离不是生与死,而是你亲手制造的bug就在你眼前,你却怎么都找不到它。因此本文准备了7款优秀的开源bug跟踪系...

2024-05-20 14:43 gowuye

生物信息分析入门全攻略

生物信息学是生命科学研究的重大前沿领域,未来将占据生命科学研究的半壁江山。已经有越来越多的小伙伴投入到生物信息的学习中,但是入门难、深入慢、摸不到方向等都成为持续学习的拦路虎。本文根据生物信息技术大牛...

elkb实践经验,再赠送一套复杂的配置文件
elkb实践经验,再赠送一套复杂的配置文件

原创:小姐姐味道(微信公众号ID:xjjdog),欢迎分享,转载请保留出处。宝剑锋从磨砺出,梅花香自苦寒来。诗人白居易,三月下江南,看到沿路开放的桃花,心潮澎湃...

2024-05-20 14:43 gowuye

超详细从0到1 搭建ELK监控
超详细从0到1 搭建ELK监控

监控分类?Metrics用于记录可聚合的数据。例如,1、队列的当前深度可被定义为一个度量值,在元素入队或出队时被更新;HTTP请求个数可被定义为一个计数器,...

2024-05-20 14:42 gowuye

嵌入式开发 之Web配置页面开发
嵌入式开发 之Web配置页面开发

1.PHP是最好的语言??开发动态页面首选的语言是PHP,村村不能在这里忽悠人,如果你的硬件性能允许切略懂PHP,看到这里就可以退出了。本文面向的受众是Linu...

2024-05-20 14:42 gowuye

Python开发一个网站目录扫描工具用来检测网站是否有漏洞?
Python开发一个网站目录扫描工具用来检测网站是否有漏洞?

开发一个网站目录扫描工具是用来检测网站是否有非法目录请求的一个常见需求之一,我们要通过这个扫描工具来找到通过某个域名可以访问到的网站路径,可能对于有些系统来讲,...

2024-05-20 14:42 gowuye

创建一个类似Youtube的Id——使用PHP/Python/JS/Java/SQL

id通常都是用数字,不巧的是只有10个数字来使用,所以如果你有很多的记录,id往往变得非常冗长。当然对于计算机来说无所谓,但我们更希望id尽可能短。所以我们如何能使id变短?我们可以利用字母让它们附加...

快速云:有助于移动应用安全开发的五条妙计
快速云:有助于移动应用安全开发的五条妙计

许多企业不断地向其开发团队提供培训。但是某些漏洞,如早在十多年前就发现的SQL注入,如今仍广泛存在于各种应用中。因而,安全培训永不过时。在开发移动应用时,开发者...

2024-05-20 14:41 gowuye

洛杉矶国际电影节最佳动画短片奖影片《G’DAY》正式全网上映
洛杉矶国际电影节最佳动画短片奖影片《G’DAY》正式全网上映

7月2日,由M&CSaatchi创作,由深受好评的澳大利亚导演迈克尔·格雷西执导的动画短片《G’day》,正式在全网上映。该影片因其出色的创意赢得了洛...

2024-05-20 14:41 gowuye

取消回复欢迎 发表评论: