Python按行读文件 高级

1. 最基本的读文件方法:

file = open("sample.txt")
while 1:
    line = file.readline()
    if not line:
        break
    pass # do something

  一行一行得从文件读数据,显然比较慢;不过很省内存。

  在我的机器上读10M的sample.txt文件,每秒大约读32000行

2. 用fileinput模块

import fileinput
for line in fileinput.input("sample.txt"):
    pass

  写法简单一些,不过测试以后发现每秒只能读13000行数据,效率比上一种方法慢了两倍多……

3. 带缓存的文件读取(最优)

file = open("sample.txt")

while 1:
    lines = file.readlines(100000)
    if not lines:
        break
    for line in lines:
        pass # do something

  这个方法真的更好吗?事实证明,用同样的数据测试,它每秒可以读96900行数据!效率是第一种方法的3倍,第二种方法的7倍!

————————————————————————————————————————————————————————————

4.readlines读取

file = open("sample.txt")
for line in file.readlines()
    pass #do somthing

此方法容易造成line溢出

 感谢http://www.cnblogs.com/xuxn/archive/2011/07/27/read-a-file-with-python.html

时间: 2024-08-27 09:16:35

Python按行读文件 高级的相关文章

Python按行读文件对比

1. 最基本的读文件方法: # File: readline-example-1.py file = open("sample.txt") while 1:     line = file.readline()     if not line:         break     pass # do something 一行一行得从文件读数据,显然比较慢:不过很省内存. 在我的机器上读10M的sample.txt文件,每秒大约读32000行 2. 用fileinput模块 # File

Python按行读取文件、写文件

Python按行读取文件 学习了:https://www.cnblogs.com/scse11061160/p/5605190.html file = open("sample.txt") for line in file: pass # do something file.close() 学习了:https://blog.csdn.net/ysdaniel/article/details/7970883 去除换行符 for line in file.readlines(): line

while循环按行读文件的方式总结

分析apache访问日志,把日志每行的访问字节数对应的字段数字相加,计算访问总量. #!/bin/bash sum=0 exec < $1 while read line do   aa=`echo $line | awk '{print $10}'`   expr $aa + 10 > /dev/null   a=$?   if [ $a -ne 0 ]; then     continue   fi   sum=$(($sum+$aa)) done echo $sum ~ 这个问题主要考察

Python之路 day2 按行读文件

1 #1. 最基本的读文件方法: 2 3 # File: readline-example-1.py 4 5 file = open("sample.txt") 6 7 while 1: 8 line = file.readline() 9 if not line: 10 break 11 pass # do something 12 #一行一行得从文件读数据,显然比较慢:不过很省内存. 13 14 #在我的机器上读10M的sample.txt文件,每秒大约读32000行 15 16

ZH奶酪:Python按行读取文件

1:readline() file = open("sample.txt") while 1: line = file.readline() if not line: break pass # do somethingfile.close() 一行一行得从文件读数据,显然比较慢: 不过很省内存: 测试读10M的sample.txt文件,每秒大约读32000行: 2:fileinput import fileinput for line in fileinput.input("

C语言按行读文件及字符串分割

#include<stdio.h> #include<iostream> using namespace std; int main() { char s[50]; char delims[] = " "; FILE *fs; fopen_s(&fs, "check-in.txt", "rt"); if (fs == NULL) { printf("file open error\n"); re

python 函数初识和文件操作

文件操作  打开文件:文件句柄 = open('文件路径', '模式') 打开文件的模式 w #以写的方式打开 (不可读,不存在则创建,存在则删除内容) a #以追加的模式打开(可读, 不存在则创建,存在则追加内容) r #以只读模式打开 "+" 表示可以同时读写某个文件 r+ #以读写的模式打开 w+ #以读写的模式打开 a+ #以读写的模式打开 "b”表示处理二进制文件 rb #以二进制模式读打开 wb #以二进制写模式打开 ab #以二进制追加模式打开 rb+ #以二进

python 从第二行开始读文件

python 从第二行开始读文件 filename = info.txtf = open('info.txt') next(f) for line in f: print(line) next()函数获取了第一行的数据,但没有做任何动作.这样其后的FOR循环就直接从第二行开始读取执行. 原文地址:https://www.cnblogs.com/ChenYi0919/p/8856553.html

Python中基本的读文件和简单数据处理

Python中基本的读文件和简单数据处理 暂无评论 DataQuest上面的免费课程(本文是Python基础课程部分),里面有些很基础的东西(csv文件读,字符串预处理等),发在这里做记录.涉及下面六个案例: Find the lowest crime rate(读取csv文件,字符串切分,for循环和if判断过滤数据) Discover weather pattern in LA(for循环和if判断进行频数统计) Building a Spell Checker(词频统计,字符串预处理,字典