逐行遍历文件:

方法一:一次读入,分行处理: readlines()

缺点:一次读入所有信息,对于大文件来说会消耗很多计算机内存

 fname = input('请输入要打开的文件名称:')
fo = open(fname,"r")
for line in fo.readlines(): #f.readlines()读入所有行,将文件以每行为元素形成列表(每一行都是一个长字符串)
print(line)
fo.close()

方法二:分行读入,逐行处理:直接遍历文件句柄

 fname = input("请输入要打开的文件名称:")
fo = open(fname,"r")
for line in fo: #fo是文件句柄
print(line)
fo.close()

有利于处理极大文件。

实例:自动轨迹绘制用两种方式实现:

注:这段代码用到了eval()函数,所以txt数据文件中不能出现类似060,以0开头的数字,否则会报错“syntaxError: invalid token”

 #Autotrackdraw.py            #方法二
import turtle as t t.setup(800,600,0,0)
t.pensize(5)
t.pencolor("red") #数据读取
f = open("test.txt") #只读方式打开文件为:文件句柄f
l = [] #创建一个空列表
for ch in f: #用for...in.逐一处理每一行
ch = ch.replace('\n','') #遍历字符串,用空字符代替转义符\n
l.append(list(map(eval,ch.split(","))))#将一行字符串以逗号分割形成列表,并对列表的每个元素用eval()函数处理,
print(l) #然后以子列表加入父列表。
f.close()
for i in range(len(l)): #对列表所有元素循环,按参数执行画笔程序。
t.pencolor(l[i][3],l[i][4],l[i][5]) #i[1,2,3,4,5]:
if l[i][1] == 0: #i[0]:行进距离
t.left(l[i][2]) #i[1]:转向判断
else: #i[2]:转向角度
t.right(l[i][2]) #i[3]-i[5]:RGB颜色
t.fd(l[i][0])
t.done()
 #AutotrackdrawV2.py                #方法一
import turtle as t t.setup(800,600,0,0)
t.pensize(5)
t.pencolor("red") with open('test.txt','r') as f1: #用with打开文件,用readlines()读入所有行,以每行为元素生成列表。
list1=f1.readlines()
for i in range(len(list1)):
list1[i]=list1[i].rstrip('\n') #对列表进行遍历,rstrip()去掉每个列表元素的转义符\n
list1[i]=list(eval(list1[i])) #每个列表元素仍然为字符串,用eval()去掉引号,转换为元组,再用list()转换为子列表 print(list1) for i in range(len(list1)):
t.pencolor(list1[i][3],list1[i][4],list1[i][5])
if list1[i][1]==0:
t.left(list1[i][2])
else:
t.right(list1[i][2])
t.fd(list1[i][0])
t.done()

结果:

python:文件的逐行操作的更多相关文章

  1. python文件及目录操作

    python文件及目录操作 读/写文件 新建/打开文件 写入 #举个例子,打开D:\test\data.txt #以写入模式打开文件 #如果test(上级目录)不存在则报错 #如果data.txt(文 ...

  2. python文件的基础操作

    import os print(,'-')) print(os.getcwd()) print(,'-')) print(os.listdir()) print(,'-')) print(os.lis ...

  3. 人生苦短之Python文件的IO操作

    在Python中也有涉及到文件的相关操作,从最简单的文件读取说起 文件读取 file = open('/Users/macbookpro/Desktop/使用教程.txt', 'r', encodin ...

  4. Python文件的读写操作

    Python文件的使用 要点:Python能够以文本和二进制两种形式处理文件. 1.文件的打开模式,如表1:  注意:使用open()函数打开文件,文件使用结束后耀使用close()方法关闭,释放文件 ...

  5. python文件的相关操作

    python 目录 python 1.python文件的介绍 使用文件的目的 Python文件的类型主要有两种:文本文件和二进制文件. 操作文件的流程主要有三步:打开-操作-关闭操作. 2.文件的打开 ...

  6. python 文件和目录操作题库

    1. 把一个目录下所有的文件删除,在所有的目录下新建一个a.txt的文件,并在文件下写入"python"关键字.   解题思路:        1.如果目录存在则切换进入目录    ...

  7. [ Python ] 文件的读写操作

    1. 文件读写操作 读写文件是最常见的 IO 操作, Python 内置了读写文件的函数.在磁盘上读写文件的功能是由操作系统提供的,所以读写文件是请求操作系统打开一个文件对象(通常称为文件描述符),然 ...

  8. python 文件及目录操作

    文件的基本操作 >>> import os #文件操作导入的模块 >>> import os.path >>> os.name #操作系统的类型, ...

  9. python 文件和路径操作函数小结

    1: os.listdir(path) //path为目录 功能相当于在path目录下执行dir命令,返回为list类型 print os.listdir('..') 2: os.path.walk( ...

随机推荐

  1. JS访问或设置cookie的方法+跨域调用方法

    无意中从163网站获取的JS访问或设置cookie的方法,Log到日志上以防遗忘 //COOKIE功能检查function fCheckCookie(){    if(!navigator.cooki ...

  2. iOS关于直播的链接

    iOS关于直播集成的链接 http://www.jianshu.com/p/7b2f1df74420 https://www.cnblogs.com/graveliang/p/5683617.html ...

  3. 拦截器实现HandlerInterceptor没有提示实现里面的方法

    在自定义拦截器的时候需要实现HandlerInterceptor,但是没有报错,如图: 如果想实现里面的方法,快捷键是command+o  

  4. Linux ssh下实现免密码登录

    1.Linux 生成密钥 ssh-keygen -t rsa 进入“.ssh”会生成以下几个文件 id_rsa : 生成的私钥文件 id_rsa.pub : 生成的公钥文件 know_hosts : ...

  5. 用docker-compose部署postgres+ postgis

    20190411更新.之前写的太啰嗦,也不删了,重新来.小坑还是有的 psql 命令行客户端 因为postgres用docker镜像安装,所以host不需要安装pg,只需要安装客户端 sudo apt ...

  6. C# 获取CPU序列号、网卡MAC地址、硬盘序列号封装类,用于软件绑定电脑

    using System.Management; namespace GLaLa { /// <summary> /// hardware_mac 的摘要说明. /// </summ ...

  7. eclipse get set 自动添加注释

    编码的时候通常要用到 JavaBean ,而在我们经常把注释写在字段上面,但生成的Get/Set方法不会生成,通过修改Eclipse源码可解决,直接上例子: /** * 员工ID */ private ...

  8. 为什么会出现container/injection的思想?

    1.容器的历史 容器概念始于 1979 年提出的 UNIX chroot,它是一个 UNIX 操作系统的系统调用,将一个进程及其子进程的根目录改变到文件系统中的一个新位置,让这些进程只能访问到这个新的 ...

  9. WebSocket ,Socket ,Http差异

    最近一直被Socket 被Http搞懵了,然后归类整理了下 首先需要知道网络七层,从上至下 应用,表示,回话,传输,网络,数据链路,物理,一共7层 WebSocket: 这个是在Html5提出的一种规 ...

  10. 7.5 GRASP原则五:高内聚 High Cohesion

    GRASP原则五:高内聚 High Cohesion  How to keep objects focused, understandable and manageable, and as a si ...