[原]Python爬虫编程思想(74): 使用FileInput对象读取文件
2021-11-11 00:46:14 Author: blog.csdn.net(查看原文) 阅读量:24 收藏

蒙娜丽宁 2021-11-10 22:42:22 2 收藏

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

74 篇文章 3 订阅 ¥29.90 ¥99.00

        如果需要读取一个非常大的文件时,使用readlines函数会占用太多内存,因为该函数会一次性将文件所有的内容都读到列列表中,列表中的数据都需要放到内存中,所以非常占内存,为了解决这个问题,可以使用for循环和readline方法逐行读取,也可以使用fileinput模块中的input函数读取指定的文件。

        input方法返回一个FileInput对象,通过FileInput对象的相应方法可以对指定文件进行读取, FileInput对象使用的缓存机制,并不会一次性读取文件的所有内容,所以比readlines函数更节省内存资源。

        下面的例子使用fileinput.input方法读取了urls.txt文件,并通过for循环获取了每一行值,同时调用了fileinput.filename方法和fileinput.lineno方法分别获取了正在读取的文件名和当前的行号。

import fileinput
# 使用input方法打开urls.txt文件
fileobj = fileinput.input('./files/urls.txt')
# 输出fileobj的类型
print(type(fileobj))
# 读取urls.txt文件第1行
print(fileobj.readline().rstrip())
# 通过for循环输出urls.txt文

文章来源: https://blog.csdn.net/nokiaguy/article/details/121258628
如有侵权请联系:admin#unsafe.sh