Python文件——使用Python读取txt文件

作者:Insist--

个人主页:insist--个人主页

本文专栏:Python专栏

专栏介绍:本专栏为免费专栏,并且会持续更新python基础知识,欢迎各位订阅关注.

目录

一、文件的编码

1. 什么是编码

2. 常见的编码

二、Python文件的读取操作

1. 打开文件

2. 读取文件

3. 关闭文件

4. 自动关闭文件


前言

本文讲解了文件编码的概念以及Python文件读取的相关操作,比如:打开文件,关闭文件,读取文件。

一、文件的编码

我们知道计算机只能识别0和1,那么我们的文件是如何被计算机识别并存储到硬盘中的?这就要用到编码技术了,让我们继续往下看。

1. 什么是编码

编码就像是把信息“翻译”成计算机能懂的语言。前面说过计算机只懂得0和1,你去给计算机一篇文章,计算机不懂这是一篇文章,所以我们需要把文章“翻译”成计算机能理解的语言(0和1),这样计算机才能处理和传输信息。这个“翻译”的过程就是编码。

2. 常见的编码

计算机中,有非常多的编码技术,比如:ANSI、UTF-8、UTF-16,目前UTF-8是最常用的。

  • ANSI编码:在Windows操作系统下,ANSI编码代表的是GB2312编码,主要用于表示简体中文。在日文操作系统下,ANSI编码代表的是JIS编码。
  • UTF-8编码:UTF-8是一种可变长度的编码方式,用来表示几乎所有的字符,包括中文和其他双字节字符。
  • UTF-16编码:UTF-16是一种定长编码方式,表示一个字符需要2个字节。在Windows操作系统中广泛使用。

二、Python文件的读取操作

文件的内容如图:

1. 打开文件

想要使用Python打开计算机中的某个文件,可以使用open()函数来实现,使用open()函数需要传入三个参数,分别是:文件名、模式、编码类型

  • 文件名:就是你要打开的文件的名称
  • 模式:打开模式可以是只读模式('r'),写入模式('w'),追加模式('a')

r(只读模式):以只读模式打开文件。如果文件不存在,会直接报错

w(写入模式):以写入模式打开文件。如果文件不存在,会直接创建一个新文件。如果已存在,会清空文件并写入新内容。

a(追加模式):以追加模式打开文件,如果文件不存在,会直接创建一个新文件。如果已存在,会在文件末尾添加新内容。

  • 编码类型:大部分为UTF-8

例如:你想要打开一个名为abc.txt的文件并使用只读模式,可以这样写:

file = open('D:/abc.txt', 'r',encoding="UTF-8")#打开D盘中的abc。txt文件,模式为只读(r)文件的编码为UTF-8

注意:文件的路径需要写完整

2. 读取文件

文件被打开后,你可以使用多种方法来读取文件的内容。比如:read()方法,readline()方法,readlines()方法

  • 方法一:read()方法  该方法用于读取文件内的全部内容,并将其作为字符串返回。例如:
# 打开文件
file = open('D:/abc.txt', 'r',encoding="UTF-8")
# 读取文件
f2 = file.read()
# 输出文件的内容
print(f2)
# 使用type()查看是否为字符串类型
print(type(f2))     

输出结果:如下图,使用read方法成功的输出了文件的全部内容,并且我们使用

  • 方法二:readline()方法  该方法一次读取文件的一行内容,每次调用都会返回下一行的内容。例如:
# 打开文件
file = open('D:/abc.txt', 'r',encoding="UTF-8")
# 读取文件
f2 = file.readline()
# 输出文件的内容
print(f2)

输出结果:如下图可以看到只输出了一行内容。

  • 方法三:readlines()方法  该方法读取整个文件,并将每一行内容作为字符串存储在列表中返回。例如:
# 打开文件
file = open('D:/abc.txt', 'r',encoding="UTF-8")
# 读取文件
f2 = file.readlines()
# 输出文件的内容
print(f2)

输出结果:如下图,文件中的内容已经存储在列表中。

3. 关闭文件

在完成文件读取操作后,你需要关闭文件以释放资源。可以使用close()方法来关闭文件。例如:

# 打开文件
file = open('D:/abc.txt', 'r',encoding="UTF-8")
# 读取文件
f2 = file.readlines()
# 输出文件的内容
print(f2)
# 解除占用 / 关闭文件
file.close()

4. 自动关闭文件

如果你怕忘记关闭文件,或者不想手动关闭,可以使用with语句来自动关闭文件。例如:

with open('D:/abc.txt', 'r',encoding="UTF-8") as f:# 打开文件f2 = f.read()# 输出结果print(f2)

在这个例子中,使用with语句可以确保在代码块执行完毕后自动关闭文件,无论是否发生错误。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深入浅出排序算法之堆排序

目录 1. 算法介绍 2. 执行流程⭐⭐⭐⭐⭐✔ 3. 代码实现 4. 性能分析 1. 算法介绍 堆是一种数据结构,可以把堆看成一棵完全二叉树,这棵完全二叉树满足:任何一个非叶结点的值都不大于(或不小于)其左右孩子结点的值。若父亲大孩子小&#x…

《动手学深度学习 Pytorch版》 10.7 Transformer

自注意力同时具有并行计算和最短的最大路径长度这两个优势。Transformer 模型完全基于注意力机制,没有任何卷积层或循环神经网络层。尽管 Transformer 最初是应用于在文本数据上的序列到序列学习,但现在已经推广到各种现代的深度学习中,例如语…

提高抖音小店用户黏性和商品销量的有效策略

抖音小店是抖音平台上的电商模式,用户可以在抖音上购买各类商品。要提高用户黏性和商品销量,四川不若与众帮你整理了需要注意以下几个方面。 首先,提供优质的商品和服务。在抖音小店中,用户会通过观看商品展示视频和用户评价来选…

Linux 网络驱动实验(PHY芯片LAN8720)

目录 嵌入式网络简介嵌入式下的网络硬件接口 网络驱动是linux 里面驱动三巨头之一,linux 下的网络功能非常强大,嵌入式linux 中也常 常用到网络功能。前面我们已经讲过了字符设备驱动和块设备驱动,本章我们就来学习一下 linux 里面的网络设备…

GAMP源码阅读(中)伪距单点定位 SPP

原始 Markdown文档、Visio流程图、XMind思维导图见:https://github.com/LiZhengXiao99/Navigation-Learning 文章目录 一、SPP 解算1、spp():单点定位主入口函数2、estpos()3、estpose_()4、valsol():GDOP和卡方检验结果有效性 二、卫星位置钟…

N-130基于springboot,vue校园社团管理系统

开发工具:IDEA 服务器:Tomcat9.0, jdk1.8 项目构建:maven 数据库:mysql5.7 系统分前后台,项目采用前后端分离 前端技术:vueelementUI 服务端技术:springbootmybatis-plus 本系…

Redis -- 基础知识3 数据类型及指令

FLUSHALL:清空所有键值对操作(最好别搞,删库要被绳之以法的) 1.string类型 1.介绍 1.redis的字符串,直接按照二进制进行存储,所以可以存储任何数据,取出时不需要转码 2.redis的string类型,限制大小最大为512M,因为为单线程模型为了操作短平快 2.操作 1.set与get set key value …

STM32G030F6P6 芯片实验 (一)

STM32G030F6P6 芯片实验 (一) 淘宝搞了几片, 没试过 G系列, 试试感觉. 先搞片小系统版: 套 STM32F103C8T6小系统板格式. 原理图: (1) Ref 有点跳, 从 STM32F103C8T6 系统板改的, 没重编号. (2) Type-C 纯给电, 砍了 16pin的, 直接换 6pin的。 (3) 测试LED放 B2。 (4) 测试底…

uni-app中tab选项卡的实现效果 @click=“clickTab(‘sell‘)“事件可传参数

一、效果图 二、代码 <template><view><view class"choose-tab"><view class"choose-tab-item" :class"chooseTab 0 ? active : " data-choose"0" click"clickTab">选项1</view><view …

webpack 解决:TypeError: merge is not a function 的问题

1、问题描述&#xff1a; 其一、存在的问题为&#xff1a; TypeError: merge is not a function 中文为&#xff1a; 类型错误&#xff1a;merge 不是函数 其二、问题描述为&#xff1a; 想执行 npm run dev 命令&#xff0c;运行起项目时&#xff0c;控制台报错 TypeErro…

【深度学习】Transformer、GPT、BERT、Seq2Seq什么区别?

请看vcr&#xff1a;https://transformers.run/back/transformer/

SylixOS BSP开发(七)

实现系统调试信息打印接口 当系统出错时或者使用内核日志时会输出一些打印信息&#xff0c;这最终都是调用到bspLib.c中的bspDebugMsg 这个接口来实现的&#xff0c;所以我们在开发BSP时&#xff0c;第一个要做的工作就是实现这个接口。 一般的调试信息都是通过串口来输出的&am…

文心一言 VS 讯飞星火 VS chatgpt (123)-- 算法导论10.4 4题

四、用go语言&#xff0c;对于一个含 n个结点的任意有根树&#xff0c;写出一个 O(n)时间的过程&#xff0c;输出其所有关键字该树以左孩子右兄弟表示法存储。 文心一言&#xff1a; 在计算机科学中&#xff0c;左孩子右兄弟表示法是一种用于表示树状结构的方法&#xff0c;其…

制作自己的前端组件库并上传到npm上

最近实现了自己的一个前端组件库demo&#xff0c;目前只上传了几个小组件。话不多说&#xff0c;上图&#xff1a; 我分了三个项目&#xff1a;yt-ui组件库、使用文档、demo。线上地址如下&#xff1a; [yt-ui组件库](mhfwork/yt-ui - npm) [组件库使用文档](介绍 | mhfwork/y…

【C++深入浅出】模版初识

目录 一. 前言 二. 泛型编程 三. 函数模版 3.1 函数模版的概念 3.2 函数模版的格式 3.3 函数模版的原理 3.4 函数模板的实例化 3.5 模板参数的匹配原则 四. 类模版 4.1 类模版的定义 4.2 类模版的实例化 一. 前言 本期我们要介绍的是C的又一大重要功能----模版。通…

相交链表-力扣

一、题目描述 题目链接&#xff1a;力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 二、题解 注意题目所说的相交&#xff0c;相交节点不只是数值上的相等&#xff0c;而是相交以后两条链变成一条链。 解决改题目&#xff0c;我们可以&#xff1a;…

当『后设学习』碰上『工程学思维』

只要我成为一个废物&#xff0c;就没人能够利用我&#xff01; 雷猴啊&#xff0c;我是一只临期程序猿。打过几年工&#xff0c;写过几行代码。但今天我不想聊代码&#xff0c;我们聊聊学习这件事。 技术年年更新&#xff0c;尤其是前端框架&#xff0c;很多时候觉得学习速度都…

一、灵动mm32单片机_开发环境的搭建(Keil)

1、安装Keil MDK。 略。 2、安装芯片对应的Pack包。 (1)这里以MM32F0130单片机为例。 (2)进入灵动微电子官网。上海灵动微电子股份有限公司 (3)点击“支持”→“KEILPacl”。 (3)点击下载Pack包。 (4)下载后&#xff0c;解压下载的压缩包&#xff0c;找到对应的Pack包&…

管理类联考——数学——汇总篇——知识点突破——数据分析——记忆

文章目录 考点记忆/考点汇总——按大纲 整体目录大纲法记忆宫殿法绘图记忆法 局部数字编码法对号不对号 归类记忆法重点记忆法歌决记忆法口诀&#xff1a;加法分类&#xff0c;类类相加&#xff1b;乘法分步&#xff0c;步步相乘。 谐音记忆法涂色 理解记忆法比较记忆法转图像记…

云服务器的先驱,亚马逊云科技海外云服务器领军者

随着第三次工业革命的发展&#xff0c;移动互联网技术带来的信息技术革命为我们的生活带来了极大的便捷。其中&#xff0c;不少优秀的云服务器产品发挥了不可低估的作用&#xff0c;你或许听说过亚马逊云科技、谷歌GCP、IBM Cloud等优秀的海外云服务器。那么云服务器有哪些&…