“文本处理”时,.read()、.readline() 和 .readlines()。每种方法可以接受一个变量以限制每次读取的数据量,但它们通常不使用变量。 .read() 每次读取整个文件,它通常用于将文件内容放到一个字符串变量中。然而 .read() 生成文件内容最直接的字符串表示,但对于连续的面向行的处理,它却是不必要的,并且如果文件大于可用内存,则不可能实现这种处理。.readline() 和 .readlines() 非常相似。它们都在类似于以下的结构中使用:
def file_view(file_name,line_num):
print('\n文件%s的前%s的内容如下:\n'%(file_name,line_num))
f = open(file_name)
for i in range(int(line_num)):
print(f.readline(),end='')
#print(f.readlines(),end='') "lines"与'line'不同
f.close
file_name = input(r'请输入要打开的文件(E:\python作业\文件分割\record _1.txt):')
line_num = input('请输入需要显示该文档前几行:')
file_view(file_name,line_num)
readlines
================== RESTART: E:\python作业\文件分割\file_view_1.py ==================请输入要打开的文件(E:\python作业\文件分割\record _1.txt):E:\python作业\文件分割\record _1.txt
请输入需要显示该文档前几行:12
文件E:\python作业\文件分割\record _1.txt的前12的内容如下:
['小明:计算机急死V死死V你是\n', '小虎:极地3世界。\n', '小明:激动时间佛山降低什么,拒绝四句。\n', '====================\n', '小虎:激动is道具哦I孙哦is,is女开始\n', '小明:降低松紧带,窘1色掉。\n', '小明:奇偶isV哦isv,低哦计算机哦\n', '小虎:哦死V你送in,就哦额服你?\n', '====================\n', '小明:降低哦是1哪里,距哦V历史地看\n', '小虎:低哦是假的,就送id死了。\n', '小明:东四4环DVDio多少。\n', '小虎:低哦睡觉'][][][][][][][][][][][]
>>>
readline
================== RESTART: E:\python作业\文件分割\file_view_1.py ==================
请输入要打开的文件(E:\python作业\文件分割\record _1.txt):E:\python作业\文件分割\record _1.txt
请输入需要显示该文档前几行:12
文件E:\python作业\文件分割\record _1.txt的前12的内容如下:
小明:计算机急死V死死V你是
小虎:极地3世界。
小明:激动时间佛山降低什么,拒绝四句。
====================
小虎:激动is道具哦I孙哦is,is女开始
小明:降低松紧带,窘1色掉。
小明:奇偶isV哦isv,低哦计算机哦
小虎:哦死V你送in,就哦额服你?
====================
小明:降低哦是1哪里,距哦V历史地看
小虎:低哦是假的,就送id死了。
小明:东四4环DVDio多少。
>>>
readline() 和 .readlines() 之间的差异是后者一次读取整个文件,象 .read() 一样。.readlines() 自动将文件内容分析成一个行的列表,该列表可以由 Python 的 for ... in ... 结构进行处理。另一方面,.readline() 每次只读取一行,通常比 .readlines() 慢得多。仅当没有足够内存可以一次读取整个文件时,才应该使用 .readline()。