逐行遍历文件:
方法一:一次读入,分行处理:readlines()
缺点:一次读入所有信息,对于大文件来说会消耗很多计算机内存
1 fname = input('请输入要打开的文件名称:')2 fo = open(fname,"r")3 for line in fo.readlines(): #f.readlines()读入所有行,将文件以每行为元素形成列表(每一行都是一个长字符串)
4 print(line)5 fo.close()
方法二:分行读入,逐行处理:直接遍历文件句柄
1 fname = input("请输入要打开的文件名称:")2 fo = open(fname,"r")3 for line in fo: #fo是文件句柄
4 print(line)5 fo.close()
有利于处理极大文件。
实例:自动轨迹绘制用两种方式实现:
注:这段代码用到了eval()函数,所以txt数据文件中不能出现类似060,以0开头的数字,否则会报错“syntaxError: invalid token”
1 #Autotrackdraw.py #方法二
2 importturtle as t3
4 t.setup(800,600,0,0)5 t.pensize(5)6 t.pencolor("red")7
8 #数据读取
9 f = open("test.txt") #只读方式打开文件为:文件句柄f
10 l = [] #创建一个空列表
11 for ch inf: #用for.