Python文件操作详解(一)

news2024/11/26 23:49:38

今天继续给大家介绍Python相关知识,本文主要内容是Python文件操作详解。

一、Python文件处理简介

使用Python可以编写程序处理文件,Python可以处理的文件值得是任何存储在辅助存储器上的数据序列。
在Python中,对于文件的处理通常由一定的流程,即打开文件——处理文件——关闭文件。对于文件的处理,则一般有两种方式,即读取和写入。

二、二进制文件和文本文件

对于一个文件,Python有两种处理方式,一种是文本文件方式,另一种是二进制文件方式。对于一个确定的文件而言,其内容在没有更改的前提下是固定的,之所以有这两种处理方式,就在于Python对于文件的看待不同。文本文件是由单一编码组成的文件,这样的文件通常能够被人直接读取,并具有一定的含义,常见的文本文件处理方式适用于处理txt文件等。二进制文件直接由0、1比特构成,没有统一的字符编码,这类文件具有其特定的作用,但是并不能够以文本的形式表现出来,常见的由图片、视频、音频等等。
对于任意一个文件,我们可以使用二进制方式打开文件,但是只有对于由一定格式的文本文件,我们才能够以文本方式打开。以下是几个文件打开示例:
例1:我们可以使用二进制和文本方式打开一个文本文件:
在这里插入图片描述
例2:我们可以使用二进制方式打开一个非文本文件
在这里插入图片描述
例3:我们如果使用文本方式打开一个非文本文件,那么文件就会报错
在这里插入图片描述

三、文件打开方式

在Python中,文件打开可以使用open()函数,open()函数格式如下所示:

【文件句柄变量】=open(【文件名】,【打开模式】)

对于文件句柄,可以简单理解为Python中关于打开的文件的一种标志,这种变量与操作系统有关,这种变量内部的具体内容包含了文件的一系列信息,详细了解可参考文章:Python文件操作注意事项
对于oepn()函数的文件名变量,是一个字符串类型,可以使用相对路径,也可以使用绝对路径,如果使用相对路径,则相对的是Python程序本身所在的目录而言。
关于打开模式变量,也是一个字符串类型,主要打开模式如下表所示:

文件打开模式标志具体含义
‘r’'r’是打开模式的默认值,即只读的方式打开,如果文件本身不存在,则会返回FileNotFoundError的报错
‘w’覆盖写模式,如果文件不存在则创建指定文件,如果文件已经存在,则会完全删除之前文件中的内容,之后尝试写入(注意:采用这种方式打开文件,在文件打开的一瞬间文件中的内容就会被清空,因此这种方式打开后,即使不对文件进行任何操作,则文件之前的数据已经被删除)
‘x’创建写模式,如果文件不存在则创建文件,如果存在则会返回FileExistsError的报错
‘a’追加写模式,如果文件不存在则创建指定文件,如果文件存在则在文件后面追加内容
‘b’指定采用二进制模式打开文件
‘t’指定采用文本模式打开文件,这种模式是文件打开的默认模式
‘+’与r/w/x/a 参数同时使用,表示在原有的功能基础上同时支持读写功能,例如’a+'即表示在追加写模式的基础上新增加读文件的功能

有了上表后,我们就可以根据实际情况来选择合适的模式来打开文件了。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/83637.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Code::Blocks(V20.03)工具安装、汉化、使用一条龙介绍

文章目录1、猿如意介绍2、Code::Blocks简介3、Code::Blocks安装3.1 下载3.2 安装3.3 汉化(可选项)4、Code::Blocks使用4.1 基本界面一览4.2 单个小工程5、Code::Blocks使用感受1、猿如意介绍 猿如意官网客户端下载地址 正如官网页面介绍猿如意的功能和作…

Allegro如何创建Group操作指导

Allegro如何创建Group操作指导 Allegro支持把器件,过孔和走线等等做成一个Group,对于PCB设计也很大帮助,如何创建一个group,具体操作如下 以下面图片为例 选择edit-groups Options选项里输出任意一个Group的名字 之后会出现一个Create Group弹窗,选择是 之后find选择…

年终将近,如何快速处理销售数据分析

编者按:如何做好企业销售数据分析,基于低代码平台实现的智能销售系统,以四大数据引擎为支撑,助力企业数据管理。 关键词:低代码平台,企业域管理,数据视图,智能报表,数据…

FFmpeg音视频编解码详解

本文你可以了解到 如何在 NDK 层调用 OpenGL ES ,以及使用 OpenGL ES 来渲染 FFmpeg 解码出来的视频数据。 一、渲染流程介绍 在 Java 层,Android 已经为我们提供了 GLSurfaceView 用于 OpenGL ES 的渲染,我们不必关心 OpenGL ES 中关于 EGL…

开发游戏相关业务该如何选择云服务器及相关产品?

游戏开发分为两种,第一种就是角色扮演类,另一种就是休闲类游戏,角色扮演类游戏对于计算能力以及游戏安全有很大的尤其;而休闲类游戏对于资源、运维、成本控制有所要求,下面就给大家展示一下腾讯云官方给出的解决方案&a…

如何去做一个完整的网站 SEO 优化方案?

想要做好网站优化,就必须制定一套适合自己的网站优化方案。优化只是一个过程,更多的是简单工作的重复,但也有技巧和方法。这个时候,你的网站优化方案就显得尤为重要。为您指明今后优化工作的途径,您在上一篇文章《传:东…

网络小白入门之路之以太网链路聚合 ---尚文网络奎哥

随着业务的发展和园区网络规模的不断扩大,用户对于网络的带宽、可靠性要求越来越高。传统解决方案通过升级设备方式提高网络带宽,同时通过部署冗余链路并辅以STP(Spanning Tree Protocol,生成树协议)协议实现高可靠。传…

使用Idea中Docker插件部署并远程Debug

目前在java开发中,由于一套完整的项目所涉及到的微服务模块很多,要是按照传统的方式一个一个部署比较麻烦,所以很多情况下我们都会使用docker镜像的方式进行部署。当我们的应用部署好之后,若运行过程中出现问题,我们也…

docker搭建服务监控 prometheus+node_export+grafana

文章目录下载镜像node-exporter 收集数据prometheus监控搭建grafana数据可视化下载镜像 docker pull grafana/grafana docker pull prom/node-exporter docker pull prom/prometheus链接:点击 提取码:yyds node-exporter 收集数据 docker run -d -p 9…

Android:为了突破瓶颈,你总得新学点什么吧?

一眨眼就到了12月份了,在这拥有“35岁魔咒”IT场上工作多年的你,是否遇到了发展瓶颈?想突破瓶颈有时需要一个机遇,但这个合适的机会很难遇到。这时候,或许你可以思考,自己是否还有改变的空间?如…

不会开赛车的管理者不是好的开发人

今天要讲述的人物,身上的标签比较多元。 他是微软 RD( Regional Director )兼微软 MVP;在制造业领域深耕十多年,擅长在不同的角色用不同观点看待软件开发流程,热爱探索商业需求和解决方案之间的平衡&#…

目标检测中的不均衡问题综述

导推荐的,简单看了一下,(太菜,太多不懂,希望以后会懂,简单做个记录 其实做的是xmind,但是想放到csdn上只能导出成md了。 Imbalance Problems in Object Detection: A Review 类别不平衡 简单…

01GO入门

GO入门一、hello,world二、运行一、hello,world 对上图的说明 1.go文件的后缀是.go 2.package main ​ 表示该hello.go 文件所在的包是main,在go中每个文件都必须归属于一个包。 3.import“fmt” ​ 表示:引入一个包&#xf…

【Docker】Docker镜像是什么?浅谈对Docker镜像的理解

专栏往期文章 《Docker是什么?Docker从介绍到Linux安装图文详细教程》《30条Docker常用命令图文举例总结》 本期目录专栏往期文章1. Docker镜像介绍2. UnionFS介绍3. Docker镜像加载原理4. 为什么Docker镜像要采用分层结构5. 镜像只读, 容器可写1. Docker镜像介绍 …

nodejs+vue社团管理系统

目录 1 绪论 1 1.1 课题背景 1 1.2 课题研究现状 1 1.3 初步设计方法与实施方案 2 1.4 本文研究内容 2 2 系统开发环境 4 开发语言:nodejs 框架:Express 数据库:mysql 数据库工具:Navicat11 开发软件&#x…

前端基础—自动验证

自动验证 在HTML5中,通过对元素使用属性的方法,可以实现在表单提交时执行自动验证的功能。下面是在HTML5中追加的关于对元素内输入内容进行限制的属性的指定。 1.required属性 required属性的主要目的是确保表单控件中的值已填写。在提交时…

#4文献学习总结--能量优化动态计算卸载

文献:“Energy-optimal Dynamic Computation Offloading for Industrial IoT in Fog Computing” 通过将部分计算密集型任务从雾节点动态卸载到云服务器,可以在雾计算系统中进一步改善用户的计算体验。 能量最优动态计算卸载方案(EDCO&#…

Spring中@Async注解的使用

一、应用场景 1、同步调用 通常,在Java中的方法调用都是同步调用,比如在A方法中调用了B方法,则在A调用B方法之后,必须等待B方法执行并返回后,A方法才可以继续往下执行。 这样容易出现的一个问题就是如果B方法执行时间…

如何避免“非正常专利申请”?!

近年来,专利数量多但质量不优的现象时而发生。对此,国家知识产权局开始严打非正常申请专利行为。而就在前不久,上海、甘肃等地也出台了相应的地方惩戒措施以打击非正常专利申请,这也反映出未来国家对于专利质量有着更高要求的趋势…

ubuntu 18.04 安装搜狗拼音输入法(没有坑)

本文参考:https://blog.csdn.net/weixin_44497198/article/details/126133691 最近在使用 ubuntu18.04 发现自带的中文输入法太难用了,于是想起装一个搜狗拼音输入法,但是按照搜狗官方的教程安装失败,安装成功了也是不稳定&#x…