|
发表于 2019-1-20 22:48:29
|
显示全部楼层
北京市北京市
其实不需要这么麻烦的,python有个内置函数叫readlines
f=open("fdsf.txt","r",encoding="utf-8") # 这里这个encoding一定要写,因为有时候电脑编码是gbk的,而python环境下是utf-8的,这样会出错,所以这里直接指定好
for i in f.readlines(): # 这里的r.readlines() 是个列表,如果你这里需要去重的话直接使用一个set函数直接做去重就可以了,这样不需要再次做去重了,或者直接在后期添加列表中写个set去重
print(i) # 这里写替换规则即可
以上这种方法会使得在大文件读取时让内存爆炸,比如在实际工作环境中,做数据处理的时候会遇到数据大于你的内存,10G的数据,而你的电脑只有8G的内存,这个样就是崩溃,这个时候使用下面这种
with open("文件名","r",encoding="utf-8")as f:
while 1: # 死循环,这里不写true是因为习惯,因为除了0意外的所有都是true
a=f.readline() # 这里每次读取一行
if a: # 判断这个a是不是为空,如果不为空则执行下一步,为空执行else
print(a) # 这里可以做数据处理
else:
break # 跳出
|
|