本文概述
- Python3
- Python3
以下两个程序演示了如何使用Python读取大型文本文件。
方法1:
第一种方法利用迭代器遍历文件。在这项技术中, 我们使用文件输入Python中的模块。 fileinput模块的input()方法可用于读取文件。与readlines()相比, 使用此方法的优点是fileinput.input()不会将整个文件加载到内存中。因此, 不存在内存泄漏的机会。 fileinput.input()方法采用文件名列表, 如果未传递任何参数, 它将接受来自stdin的输入。该方法返回一个迭代器, 该迭代器从要扫描的文本文件返回单独的行。
代码实现:
Python3
# import module
import fileinput
import time#time at the start of program is noted
start = time.time()#keeps a track of number of lines in the file
count = 0
for lines in fileinput. input ([ 'sample.txt' ]):
print (lines)
count = count + 1#time at the end of program execution is noted
end = time.time()#total time taken to print the file
print ( "Execution time in seconds: " , (end - start))
print ( "No. of lines printed: " , count)
输出如下:
文章图片
说明:
input()方法返回一个迭代器, 该迭代器扫描整个文件并打印每一行。
方法2:
第二种方法还使用迭代器来读取文件。唯一的区别是我们将使用文件对象的迭代器。 open()使用的方法将整个文件包装到一个文件对象中。接下来, 我们使用迭代器来获取文件对象中的行。我们在” with” 块中打开文件, 因为它会在整个块执行后立即自动关闭文件。随着with块的完成, 将调用__exit __()方法, 该方法将释放所有打开的资源。
代码实现:
Python3
import timestart = time.time()
count = 0
with open ( "sample.txt" ) as file :
for line in file :
print (line)
count = count + 1
end =time.time()
print ( "Execution time in seconds: " , (end - start))
print ( "No of lines printed: " , count)
输出如下:
文章图片
说明:
这种方法所需的时间相对较少。该程序也可以不加障碍地编写, 但是在这种情况下, 我们必须确保显式关闭文件资源。
【如何在Python中读取大型文本文件()】首先, 你的面试准备可通过以下方式增强你的数据结构概念:Python DS课程。
推荐阅读
- 单个文件超过4G如何拷贝到U盘?
- 如何读取PHP中是否选中了复选框()
- 如何使用printf()打印%()
- 如何在C++中打印数组参数的大小()
- 如何在Java中向左或向右旋转数组()
- 如何知道代码失败的测试用例()
- 如何使用PHP 7安装ext-curl扩展()
- 如何在Docker容器中安装Linux软件包()
- 如何在MacOS上安装Golang(详细步骤图解)