使用FileInput对象读取文件

本文介绍如何使用Python的FileInput模块来高效读取大文件,避免readlines函数因一次性加载所有内容导致的内存占用问题。通过FileInput的input函数,可以实现逐行读取并利用缓存机制,从而节省内存资源。
摘要由CSDN通过智能技术生成

读取一个非常大的文件,使用readlines函数会占用太多内存,因为该函数会一次性将文件所有的内容都读到文件列表中,列表中的数据都需要放在内存中,所以非常占用内存。
1.for 循环readlines逐行读取
2.fileinput 模块的input函数读取
input 方法返回一个FileInput 对象,使用的是缓存机制,并不会一次性读取文件的所有内容。所以比readlines更节省内存资源。

import fileinput
fileobj=fileinput.input(r"C:\Users\LHL\Desktop\TB500.csv")
type(fileobj)  
fileobj.readline().rstrip(</
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JavaScript本身并没有提供计算文件MD5的API,但可以通过引入第三方库来实现该功能。以下是使用第三方库spark-md5计算文件MD5的示例代码: ```javascript // 引入spark-md5库 import SparkMD5 from 'spark-md5'; // 读取文件内容并计算MD5 function calculateMD5(file) { return new Promise((resolve, reject) => { let fileReader = new FileReader(); let spark = new SparkMD5.ArrayBuffer(); fileReader.onload = function() { spark.append(fileReader.result); let hash = spark.end(); resolve(hash); }; fileReader.onerror = function() { reject(fileReader.error); }; fileReader.readAsArrayBuffer(file); }); } // 读取文件并计算MD5 let fileInput = document.querySelector('input[type="file"]'); fileInput.addEventListener('change', function() { let file = fileInput.files[0]; calculateMD5(file).then(hash => { console.log(hash); }).catch(error => { console.error(error); }); }); ``` 在上述代码中,我们首先使用ES6的import语法引入了spark-md5库。接着,定义了一个calculateMD5()函数,用于读取文件内容并计算MD5。 在calculateMD5()函数中,我们首先创建了一个FileReader对象,并且定义了onload事件处理函数。当文件读取完成后,该事件处理函数会被调用。 接着,我们使用spark-md5库创建了一个SparkMD5.ArrayBuffer对象,并将读取到的文件内容追加到该对象中。最后,调用SparkMD5.ArrayBuffer对象的end()方法来计算文件的MD5值。 需要注意的是,由于文件读取是异步操作,因此calculateMD5()函数返回一个Promise对象,可以使用then()方法来获取计算出的MD5值。 最后,在文件选择框的change事件处理函数中,我们调用了calculateMD5()函数来计算文件的MD5,并将结果输出到控制台中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值