Python爬虫编程思想(74): 使用FileInput对象读取文件

Posted 蒙娜丽宁

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python爬虫编程思想(74): 使用FileInput对象读取文件相关的知识,希望对你有一定的参考价值。

        如果需要读取一个非常大的文件时,使用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文

以上是关于Python爬虫编程思想(74): 使用FileInput对象读取文件的主要内容,如果未能解决你的问题,请参考以下文章

Python爬虫编程思想(12):搭建代理与使用代理

Python爬虫编程思想(135):多线程和多进程爬虫--Python与线程

Python爬虫编程思想(135):多线程和多进程爬虫--Python与线程

Python爬虫编程思想(67): 使用pyquery修改节点

Python爬虫编程思想(127):使用Appium抓取移动数据--安装和配置Appium

Python爬虫编程思想(51):使用Beautiful Soup选择节点