python处理大文件

经常使用的方法是:python

fd = open(r'PATH', 'r')
for line in fd.readlines:
    line.process

对于大文件而言这样的处理对于1G以上的文件效率较低,StackOverFlow上的推荐以下:web

with open('Path', 'r') as f:
    for line in f:
        line.process

实际使用了下,感受还能够,具体原理还在研究中,只得注意的是对于python2.7和python3.x实际使用处理有所区别,在python2.7中,没法按照utf-8编码读取文件。以下转自http://blog.sina.com.cn/linson66python3.x

2.文件处理python2.7

python2.x编码

--------------------spa

fp=open('testsrc.txt','r')  # 第二个参数是文件打开模式,r(读),w(写),a+(读写,追加内容到末尾)
                            # 第二个参数加上'b' 表示用字节方式读写(wb,rb)
fp.read()                   # 读取内容 ,f.read(1024),读取长度为1024字符
fp.close()
#write
fp=open('testsrc.txt','w')
fp.write("helloworld")
fp.close()

---------------------code

python3.xorm

with open("testsrc.txt",'r',encoding='utf-8') as f: #python2.6+ 就支持 with 操做
     print(f.read())    #python3.x 的open 比 python2.x 多了一个 encoding参数,能够用于
     f.close()          #指定文件使用的编码 
                        #固然 python3.x也能够按照2.x的方式处理,不过推荐使用with操做。写操做参考上例。
相关文章
相关标签/搜索