Python入门基础系列(十三)——文件的读写操作
off999 2024-09-23 11:29 43 浏览 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。如果您希望阅读更多这样的文章,那么请进一步分享本文章。
本系列文章列表:
相关推荐
- 微软surface pro 6(微软surface pro 6可以扩容吗)
-
SurfacePro6的接口包含:1个标准尺寸USB3.0端口,3.5mm耳机插孔,MiniDisplayPort,1个SurfaceConnect端口,Surface专业键盘盖端口,microSDX...
- 电源已接通未充电怎么回事(电源已接通未充电 真正解决办法)
-
原因分析:出现这样的原因有可能是长时间没有充电,导致电池的内部电量耗完后亏电严重,只是电脑充电的保护,不让过充而已,只要设置一下电池选项一般就可以解决问题了。解决方法:1、关机,拔下电源,拔出电池,...
- 华为云会议app下载(华为云会议下载)
-
华为云会议可以在PC客户端或者手机客户端上一键发起立即会议,1秒创会。然后在会中选择企业通讯录中的人加入,系统会自动呼叫这些与会人,接听后即加入会议。ZOOM是一个云会议服务平台,为客户提...
- 路由器重置方法(路由器重置方法详细步骤)
-
路由器靠近WAN口边上的有一个小孔用于路由器的重置,路由器配置完成后,我们可能会忘记他的用户名或者是密码,那么我们可以把它恢复到出厂设置,再靠近万口或电源之间,有一个小孔,用一个尖锐的金属查一下大约五...
- 100个有效qq号以及密码(有效qq号和密码大全)
-
如果你的电脑知识好的话,不妨用一些复合密码!SHIFT+一些特殊符号,字母,数字!虽然麻烦了点,但总比被人盗号了的好,是吧!最好还用手机绑定一下,这样的话方便改密码也不怕QQ被盗了哦。。。QQ密码找回...
- win10家庭中文版下载官网(windows10家庭中文版下载)
-
你好,激活Win10家庭中文版的方法:1.购买正版Win10家庭中文版激活码,然后在计算机上输入激活码,即可完成激活。2.如果您已经安装了Win10家庭中文版,但尚未激活,可以通过以下步骤激活:-...
- 电脑截图在哪里找(电脑截图在哪里找图片win10)
-
截图默认会保存在电脑的剪贴板中,可以通过以下步骤将其保存到本地:1.打开任意一款图片软件,如Paint、Photoshop、Word等。2.按下键盘上的Ctrl+V,或者在软件菜单栏中选择...
- 电脑里一堆microsoft visual
-
按照系统向下兼容原理,保留2010就可以了.1)你安装的时候是不是把创建快捷键的选项框都没选上,导致在开始菜单中没有找到相应的链接?2)去你的安装目录下,找到Microsoftvisualc++...
-
- windows无法识别usb(windows无法识别usb设备)
-
Windows无法识别USB,解决办法如下右键开始菜单打开设备管理器,在通用串行总线控制器中右键点击设备选择“卸载”,完成后重新启动计算机即可解决问题。这有可能是在组策略中禁用了USB口,可以使用快捷键【Win+R】运行gpedit.msc...
-
2025-11-10 11:51 off999
- bios能看到硬盘 开机找不到硬盘
-
bios里可以看到硬盘,说明硬盘已经被主板识别。进系统找不到,可能硬盘没分区,或者硬盘是动态磁盘,还没有导入或激活。按win+r,输入diskmgmt.msc回车,就打开磁盘管理了,在里面可以给新硬盘...
- 无线网有个红叉(无线网有个红叉,搜索不到网络)
-
连接失败,路由坏换路由,外网坏,报修无线网络处出现红叉表示设备无法正常工作。请检查网卡驱动是否正常,无线网络开关是否打开。解决方法:查看电脑是否有无线网络开关,且是否打开。进入设备管理器检查网卡驱动是...
- thinkpad笔记本官网首页(thinkpad官方商城)
-
官方网站 国内:http://www.thinkworld.com.cn 国内用户只需要访问国内即可。 ThinkPad,中文名为“思考本”,在2005年以前是IBMPC事业部旗下的便携式计算机...
- win7什么版本最好用(win7哪个版本最稳定流畅)
-
Windows7旗舰版,最好,最稳定。Windows7,是由微软公司(Microsoft)开发的操作系统,内核版本号为WindowsNT6.1。Windows7可供选择的版本有:简易版(Sta...
- win7自带虚拟光驱怎么使用(win7系统虚拟光驱安装教程)
-
以DAEMONTools为例,360软件管家里面就有最新版的下.安装后使用方法如下:第一种方法:在虚拟光驱界面中,你先按一下中间工具栏最左边“+”符号的按钮,添加镜像文件(可以一次添加多个),这...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
python入门到脱坑 输入与输出—str()函数
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
宝塔面板如何添加免费waf防火墙?(宝塔面板开启https)
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
慕ke 前端工程师2024「完整」
-
失业程序员复习python笔记——条件与循环
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
