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语句可以确保在代码块执行完毕后自动关闭文件,无论是否发生错误。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【纯离线】Ubuntu离线安装ntp时间同步服务

Ubuntu离线安装ntp服务 准备阶段:下载安装包 apt-get download ntp apt-get download ntpdate 一、服务端( 192.166.6.xx) 1、环境准备 先判断是否已安装 systemd-timesyncd systemctl is-active systemd-timesyncd 如果返回结果是 active,则表示…

文件夹批量改名:如何在文件夹名左边添加递增的自动编号

在文件管理的过程中,我们有时需要对文件夹进行重命名,使其更具区分度和可读性。为了实现这一目标,我们可以采用在文件夹名左边添加递增的自动编号的方法。本文将介绍云炫文件管理器如何进行文件夹批量改名,以在文件夹名左边添加递…

mathtype7.4破解永久激活码

MathType(数学公式编辑器)是由Design Science公司研发的一款专业的数学公式编辑工具。MathType功能非常强大,尤其适用于专门研究数学领域的人群使用。使用MathType让你在输入数学公式的时候能够更加的得心应手,各种复杂的运算符号也不在话下。 MathType最…

Vue3.0插槽

用法&#xff1a; 父组件App.vue <template><div><!--将html代码插入到子组件中带默认名称的插槽中--><AChild><!--这段html会插入到AChild组件中<slot></slot>插槽中--><!-- 注意&#xff1a;写在父组件中的html代码只能在父组…

百度网盘使用指南

文章目录 备份篇手机文件备份电脑文件备份 查找篇移动端PC端 文件操作文件解压文件扫描PDF工具图片工具音频操作 备份篇 手机文件备份 在百度网盘APP种点击 我的–设置–自动备份设置 里边有相册备份, 文档备份, 微信文件备份, 手机通讯录, 短信, 通话备份等功能 电脑文件备…

目标检测类项目数据集汇总

一、玩手机数据集及检测 玩手机数据集下载地址分享: https://download.csdn.net/download/qq_34717531/19870205 二、狗的数据集及检测 狗目标检测数据集下载地址分享:https://download.csdn.net/download/qq_34717531/20813390 三、猫数据集及检测 猫数据集下载地址分享: ht…

回归算法|长短期记忆网络LSTM及其优化实现

本期文章将介绍LSTM的原理及其优化实现 序列数据有一个特点&#xff0c;即“没有曾经的过去则不存在当前的现状”&#xff0c;这类数据以时间为纽带&#xff0c;将无数个历史事件串联&#xff0c;构成了当前状态&#xff0c;这种时间构筑起来的事件前后依赖关系称其为时间依赖&…

c++设计模式三:工厂模式

本文通过一个例子简单介绍简单工厂模式、工厂模式和抽象工厂模式。 1.简单工厂&#xff08;静态&#xff09; 假如我想换个手机&#xff0c;换什么手机呢&#xff1f;可以考虑苹果或者华为手机&#xff0c;那我们用简单工厂模式来实现这个功能&#xff1a; 我们关注的产品是手…

基于群居蜘蛛算法的无人机航迹规划

基于群居蜘蛛算法的无人机航迹规划 文章目录 基于群居蜘蛛算法的无人机航迹规划1.群居蜘蛛搜索算法2.无人机飞行环境建模3.无人机航迹规划建模4.实验结果4.1地图创建4.2 航迹规划 5.参考文献6.Matlab代码 摘要&#xff1a;本文主要介绍利用群居蜘蛛算法来优化无人机航迹规划。 …

【数据结构初阶】顺序表和链表(1)

顺序表和链表&#xff08;1&#xff09; 1.线性表2.顺序表2.1概念以及结构2.1.1静态顺序表2.1.2动态顺序表3.顺序表的实现3.1初始化内容3.2初始化函数3.3销毁函数3.4打印函数3.5扩容函数3.6尾插3.6尾删函数3.7头插函数3.8头删函数3.9查找函数3.10插入函数3.11删除函数3.12修改函…

拿到 phpMyAdmin 如何获取权限

文章目录 拿到 phpMyAdmin 如何获取权限1. outfile 写一句话木马2. general_log_file 写一句话木马 拿到 phpMyAdmin 如何获取权限 1. outfile 写一句话木马 尝试使用SQL注入写文件的方式&#xff0c;执行 outfile 语句写入一句话木马。 select "<?php eval($_REQU…

【软件安装】Windows系统中使用miniserve搭建一个文件服务器

这篇文章&#xff0c;主要介绍如何在Windows系统中使用miniserve搭建一个文件服务器。 目录 一、搭建文件服务器 1.1、下载miniserve 1.2、启动miniserve服务 1.3、指定根目录 1.4、开启访问日志 1.5、指定启动端口 1.6、设置用户认证 1.7、设置界面主题 &#xff08;…

挖掘业务场景的存储更优解

文章目录 第1章 如何用更优的数据存储方案&#xff0c;打造更稳定的架构&#xff1f;1.1 选用适合自己的数据存储方案1.1.1 关系型数据库1.1.2 非关系型数据库1.1.3 内存数据库 1.2 打造更稳定的架构1.2.1 分布式架构1.2.2 容灾备份1.2.3 监控报警1.2.4 自动化运维 1.3 案例分析…

Redis 原理缓存过期、一致性hash、雪崩、穿透、并发、布隆、缓存更新策略、缓存数据库一致性

redis过期策略 redis的过期策略可以通过配置文件进行配置 一、定期删除 redis会把设置了过期时间的key放在单独的字典中&#xff0c;定时遍历来删除到期的key。 1&#xff09;.每100ms从过期字典中 随机挑选20个&#xff0c;把其中过期的key删除&#xff1b; 2&#xff09;.…

python爬虫request和BeautifulSoup使用

request使用 1.安装request pip install request2.引入库 import requests3.编写代码 发送请求 我们通过以下代码可以打开豆瓣top250的网站 response requests.get(f"https://movie.douban.com/top250"&#xff09;但因为该网站加入了反爬机制&#xff0c;所以…

C语言 sizeof 函数内部进行计算

直接看代码 #include <stdio.h> int main() {int i 2;int j;j sizeof(i i);printf("i %d, j %d", i ,j);return 0; }执行结果&#xff1a; 可以看到 i的值一直是没有变的&#xff0c; j 是int类型下 sizeof占用的大小为 4个字节&#xff0c;不是i的 22…

牛客题霸 -- HJ43 迷宫问题

解题步骤; 参考代码&#xff1a; //最短路径下标 vector<vector<int>> MinPath; //临时路径 vector<vector<int>> tmp; int row 0; int col 0; void FindMinPath(vector<vector<int>>& nums, int i, int j) {nums[i][j]1;tmp.push…

C# OpenCvSharp Yolov8 Face Landmarks 人脸特征检测

效果 项目 代码 using OpenCvSharp; using OpenCvSharp.Dnn; using System; using System.Collections.Generic; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms;namespace OpenCvSharp_Yolov8_Demo {public partial class frmMain…

面试题之JavaScript经典for循环(var let)

如果你也在面试找工作&#xff0c;那么也一定遇到过这道for循环打印结果的题&#xff0c;下面我们来探讨下 var循环 for(var i 0; i < 10; i) {setTimeout(function(){console.log(i)}); } 先把答案写出来 下面来讲一下原因&#xff1a; 划重点 ① var ②setTimeout() …

段页式管理方式

一、分段、分页的优缺点 1.分页管理&#xff1a;内存空间利用率高&#xff0c;无外部碎片&#xff0c;只有少量页内碎片&#xff0c;以物理结构划分&#xff0c;不便于按逻辑方式实现信息共享和保护 2.分段管理&#xff1a;为段长过大分配连续空间会很不方便&#xff0c;会产生…