Python考试题--第51道题干--read()、readline()、readlines()3种方法读取数据的区别--2022年04月06日

原创
小哥 3年前 (2022-10-29) 阅读数 9 #大杂烩

目录

1.三种方式的定义差异:

2.示例代码描述了这三种方法的区别:

0,如何打开文件

1、read()方法,则读取文件的全部内容:

2、readline()方法,则读取当前行的内容:

3、readlines()方法,读取每一行,并将每一行作为元素返回给列表:


1.三种方式的定义差异:

1、read() 不指定参数,读取文件的所有内容;指定参数n,读取前n个字符。

2、readline() 读取指针当前行的内容,而不指定参数;n,读取前n字符,则至多读取当前行的所有内容。

3、readlines() 不指定参数,什么都读,只以列表的形式;n,读取的字符总数超过n行中的所有内容。

2.示例代码描述了这三种方法的区别:

注意:使用了以下代码。readme.txt文件,您可以编写任何一个TXT文件就足够了。这是我的

hello world!
I love you.
How are you?

0,如何打开文件

# 打开文件
f =  open(D:python_workinterviewmianshi100\readme.txt, r, encoding=utf-8)
print(type(f)) 
f.close()
# 返回IO文件的格式 
# 
# 使用打开文件功能open(),我添加参数encoding=utf-8,
# 否则,将报告错误:gbk codec cant decode byte 0x8c in position 20: illegal multibyte sequence
# 要打开文件,您需要关闭该文件。在读取文件内容后关闭该文件。

1、read()方法,则读取文件的全部内容:

# read 您可以读取文件的全部内容。
f =  open(D:python_workinterviewmianshi100\readme.txt, r, encoding=utf-8)
print(f.read()) # 读取文件的全部内容 
# print(f.read(2)) # 如果指定了该参数n,将在之前阅读n个字符
f.seek(6)  # 移动指针n的位置
print(f.read(5))# 读取内容从指针的位置开始。n个字符
f.close()

执行结果:

2、readline()方法,则读取当前行的内容:

f =  open(D:python_workinterviewmianshi100\readme.txt, r, encoding=utf-8)
print(f.readline()) # 读取当前行的内容
print(f.readline(4)) # 指定参数n,读第一行。n个字符,
print(f.readline(20)) # 如果指定n超过第一行的字符长度,将只读取当前行的内容。
f.close()
# 结果如下,每个测试都需要单独测试,因为每次测试都会移动指针。
# hello world!
# hell
# hello world!

3、readlines()方法,读取每一行,并将每一行作为元素返回给列表:

f =  open(D:python_workinterviewmianshi100\readme.txt, r, encoding=utf-8)
print(f.readlines())
print(f.readlines(3)) # 如果指定了该参数n,n字符数不超过当前行的字符数,因此只显示当前行的内容。
print(f.readlines(13)) # 如果指定了该参数n,n如果字符数超过当前行的字符数,则显示下一行的数据。
f.close()

# 结果如下,每个测试都需要单独测试,因为每次测试都会移动指针。
# [hello world!

, I love you. , How are you?]

[hello world!

]

[hello world!

, I love you. ]

版权声明

所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除