学习教程

python如何读取txt文件内容

导读:python读取txt文件的方法:1、使用read()函数逐个字节或者字符读取txt文件中的内容;2、使用readline()函数逐行读取txt文件中的内容;3、使用readlines()函数一次性读取txt文件中多行内容。

python读取txt文件的方法:1、使用read()函数逐个字节或者字符读取txt文件中的内容;2、使用readline()函数逐行读取txt文件中的内容;3、使用readlines()函数一次性读取txt文件中多行内容。

本教程操作环境:windows7系统、python3.7版,DELL G3电脑

Python 提供了如下 3 种函数,它们都可以帮我们实现读取文件中数据的操作:

  • read() 函数:逐个字节或者字符读取文件中的内容;

  • readline() 函数:逐行读取文件中的内容;

  • readlines() 函数:一次性读取文件中多行内容。

Python read()函数

对于借助 open() 函数,并以可读模式(包括 r、r+、rb、rb+)打开的文件,可以调用 read() 函数逐个字节(或者逐个字符)读取文件中的内容。

如果文件是以文本模式(非二进制模式)打开的,则 read() 函数会逐个字符进行读取;反之,如果文件以二进制模式打开,则 read() 函数会逐个字节进行读取。

read() 函数的基本语法格式如下:

1
file.read([size])

其中,file 表示已打开的文件对象;size 作为一个可选参数,用于指定一次**多可读取的字符(字节)个数,如果省略,则默认一次性读取所有内容。

举个例子,首先创建一个名为 my_file.txt 的文本文件,其内容为:

1
2
Python教程
https://www.php.cn/course/list/30.html

然后在和 my_file.txt 同目录下,创建一个 file.py 文件,并编写如下语句:

1
2
3
4
5
6
#以 utf-8 的编码格式打开指定文件
f = open("my_file.txt",encoding = "utf-8")
#输出读取到的数据
print(f.read())
#关闭文件
f.close()

程序执行结果为:

1
2
Python教程
https://www.php.cn/course/list/30.html

注意,当操作文件结束后,必须调用 close() 函数手动将打开的文件进行关闭,这样可以避免程序发生不必要的错误。

当然,我们也可以通过使用 size 参数,指定 read() 每次可读取的**大字符(或者字节)数,例如:

1
2
3
4
5
6
#以 utf-8 的编码格式打开指定文件
f = open("my_file.txt",encoding = "utf-8")
#输出读取到的数据
print(f.read(6))
#关闭文件
f.close()

程序执行结果为:

1
Python

显然,该程序中的 read() 函数只读取了 my_file 文件开头的 6 个字符。

再次强调,size 表示的是一次**多可读取的字符(或字节)数,因此,即便设置的 size 大于文件中存储的字符(字节)数,read() 函数也不会报错,它只会读取文件中所有的数据。

除此之外,对于以二进制格式打开的文件,read() 函数会逐个字节读取文件中的内容。例如:

1
2
3
4
5
6
#以二进制形式打开指定文件
f = open("my_file.txt",'rb+')
#输出读取到的数据
print(f.read())
#关闭文件
f.close()

程序执行结果为:

1
2
b'Pythonxe6x95x99xe7xa8x8b
https://www.php.cn/course/list/30.html'

可以看到,输出的数据为 bytes 字节串。我们可以调用 decode() 方法,将其转换成我们认识的字符串。

Python readline()函数

readline() 函数用于读取文件中的一行,包含**后的换行符“ ”。此函数的基本语法格式为:

1
file.readline([size])

其中,file 为打开的文件对象;size 为可选参数,用于指定读取每一行时,一次**多读取的字符(字节)数。

和 read() 函数一样,此函数成功读取文件数据的前提是,使用 open() 函数指定打开文件的模式必须为可读模式(包括 r、rb、r+、rb+ 4 种)。

下面程序演示了 readline() 函数的具体用法:

1
2
3
4
f = open("my_file.txt")
#读取一行数据
byt = f.readline()
print(byt)

程序执行结果为:

1
Python教程

由于 readline() 函数在读取文件中一行的内容时,会读取**后的换行符“ ”,再加上 print() 函数输出内容时默认会换行,所以输出结果中会看到多出了一个空行。

不仅如此,在逐行读取时,还可以限制**多可以读取的字符(字节)数,例如:

1
2
3
4
#以二进制形式打开指定文件
f = open("my_file.txt",'rb')
byt = f.readline(6)
print(byt)

运行结果为:

1
b'Python'

和上一个例子的输出结果相比,由于这里没有完整读取一行的数据,因此不会读取到换行符。

Python readlines()函数

readlines() 函数用于读取文件中的所有行,它和调用不指定 size 参数的 read() 函数类似,只不过该函数返回是一个字符串列表,其中每个元素为文件中的一行内容。

和 readline() 函数一样,readlines() 函数在读取每一行时,会连同行尾的换行符一块读取。

readlines() 函数的基本语法格式如下:

1
file.readlines()

其中,file 为打开的文件对象。和 read()、readline() 函数一样,它要求打开文件的模式必须为可读模式(包括 r、rb、r+、rb+ 4 种)。

举个例子:

1
2
3
f = open("my_file.txt",'rb')
byt = f.readlines()
print(byt)

运行结果为:

1
2
[b'Pythonxbdxccxb3xcc
', b'https://www.php.cn/course/list/30.html']

【相关推荐:Python3视频教程 】

以上就是python如何读取txt文件内容的详细内容,更多请关注少儿编程网其它相关文章!

 

来源:php中文网

 

上一篇:没有了 下一篇:python的缩进规则是什么
免责申明:欢迎转载,转载请说明出处。我们对站内所有内容、观点保持中立,如果有侵权等问题,请及时联系他们!
本文地址:https://www.xiaomawang.cn/Pythonjc/42063.html
前厅
太空走廊
校区大厅
多功能教室
跟着小码君开启编程之旅吧~