逐行遍历文件:

方法一:一次读入,分行处理: 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. Code Pages

    https://docs.microsoft.com/en-us/windows/desktop/intl/code-pages Most applications written today han ...

  2. Oracle 实例名/服务名 请问SID和Service_Name有什么区别啊?

    可以简单的这样理解:一个公司比喻成一台服务器,数据库是这个公司中的一个部门. 1.SID:一个数据库可以有多个实例(如RAC),SID是用来标识这个数据库内部每个实例的名字, 就好像一个部门里,每个人 ...

  3. Docker部署Bytom全节点钱包

    微服务和容器目前比较流行,相信很多小伙伴都比较熟悉docker, 如果你不是太了解,可以查看文档docker学习手册.那如何用docker搭建比原链(Bytom)的节点呢? 在操作之前,请自行安装do ...

  4. SpingBoot全局异常处理器被覆盖的解决办法

    @controllerAdvice()注解 @ControllerAdvice()注解可以定义一个统一的异常处理类,我们可以定义多个统一异常处理类, 但这里我们需要注意一点,默认的@Controlle ...

  5. Linux上 发布.Net Core

    环境准备 下面我们使用VM虚拟机.我这里安装的Linux系统是centos7 软件提供: VM: https://www.vmware.com/cn.html centos7 Minimal :htt ...

  6. 《SQL 基础教程》第四章:数据更新

    数据更新包括了表存在的情况下数据的添加,数据的删除和数据的更新,主要是下面三个语句: INSERT 语句 DELETE 语句 UPDATE 语句 在本章的最后,讲了关于「事务」的相关知识,用于对作出的 ...

  7. caffe-windows画loss与accuracy曲线

    参考博客: http://blog.csdn.net/sunshine_in_moon/article/details/53541573 进入tools/extra/文件夹中,修改plot_train ...

  8. 『TensorFlow』读书笔记_Inception_V3_下

    极为庞大的网络结构,不过下一节的ResNet也不小 线性的组成,结构大体如下: 常规卷积部分->Inception模块组1->Inception模块组2->Inception模块组3 ...

  9. MYSQL Statement violates GTID consistency: CREATE TABLE ... SELECT. 错误代码: 1786 问题

    1.在MYSQL中,执行建表语句时CREATE TABLE  aaaa  AS SELECT * FROM menu;  报: 错误代码: 1786Statement violates GTID co ...

  10. linux配置redis三种启动方式

    下载 wget http://download.redis.io/releases/redis-4.0.9.tar.gz 解压 tar -xzf redis-4.0.9.tar.gz -C /usr/ ...