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