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: readline-example-2.py

import fileinput

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

    pass

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

3. 带缓存的文件读取




#
File: readline-example-3.py

file =
open("sample.txt")

while 1:

    lines =
file.readlines(100000)

    if
not lines:

       
break

    for
line in lines:

       
pass #
do something

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

在Python 2.2以后,我们可以直接对一个file对象使用for循环读每行数据:





#
File: readline-example-5.py

file =
open("sample.txt")

for line
in file:

    pass
# do something

  而在Python 2.1里,你只能用xreadlines迭代器来实现:





#
File: readline-example-4.py

file =
open("sample.txt")

for line
in file.xreadlines():

    pass
# do something

 

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

Python按行读文件对比,布布扣,bubuko.com

时间: 2024-10-26 20:23:10

Python按行读文件对比的相关文章

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("sampl

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

python实现2个文件对比

在python 下对比 2个文件中 的某一个文件缺少那些内容 #!/usr/bin/env python #coding:utf8 def file(file_name): fileA_list,fileB_list = [],[] fileA_name,fileB_name = file_name.split() with open(fileA_name) as fA: for line in fA.readlines(): fileA_list.append(line.split()) wi

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