逐行遍历文件:

方法一:一次读入,分行处理: 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. oracle常用的数据字典查询语句

    select * from all_source where owner='user_name' and type = 'PROCEDURE' and upper(text) like upper(' ...

  2. IdentityServer4中Code/Token/IdToken对应可访问的资源(api/identity)

    { OidcConstants.ResponseTypes.Code, ScopeRequirement.None }, { OidcConstants.ResponseTypes.Token, Sc ...

  3. 如何用 python 优雅地完成数据库课设

    0 前言 偶然间发现 Google 收录了学校实验打卡系统的接口,正好要做数据库课设,便拿来作为 environment. 机房居然装了 python ,早就听说 python 写爬虫速度一流,课上的 ...

  4. 从实验室走向世界:HSP90抑制剂,一种新的癌症药物

    热休克蛋白90(HSP90)是细胞内一种普遍存在的.十分保守的以及有高度活性的蛋白质,它在肿瘤细胞内的含量要比正常细胞多.作为一种分子伴侣,HSP90协助不同种类的癌蛋白(即HSP90的服务蛋白)进行 ...

  5. 《WAP团队》作业四——基于原型的团队项目需求调研与分析

    基于原型的团队项目需求调研与分析 本项目是一个家教系统的实现,随着时代的进步,现今已经进入信息技术时代,越来越多的人注意到了教育的重要性.家长对于孩子的学习提高注意力,大家都不想自己的孩子输在起跑线上 ...

  6. 雷林鹏分享:jQuery EasyUI 数据网格 - 列运算

    jQuery EasyUI 数据网格 - 列运算 在本教程中,您将学习如何在可编辑的数据网格(datagrid)中包含一个运算的列.一个运算列通常包含一些从一个或多个其他列运算的值. 首先,创建一个可 ...

  7. mongo学习笔记---1

    mongo简介 非结构化数据库,数据都是以Bson格式(json的二进制)存储的. 特点:不需要指定表结构,存在一张表里的数据其结构可以完全不同.内部执行引擎为JS解释器, 把文档存储成bson结构, ...

  8. fabric网络环境启动过程详解

    这篇文章对fabric的网络环境启动过程进行讲解,也就是我们上节讲到的启动测试fabric网络环境时运行network_setup.sh这个文件的执行流程 fabric网络环境启动过程详解 上一节我们 ...

  9. php-parser在Aop编程中的使用

    在laravel下使用php-parser实现aop composer require nikic/php-parser Test.php <?php /** * Created by PhpS ...

  10. 『TensorFlow』读书笔记_ResNet_V2

    『PyTorch × TensorFlow』第十七弹_ResNet快速实现 要点 神经网络逐层加深有Degradiation问题,准确率先上升到饱和,再加深会下降,这不是过拟合,是测试集和训练集同时下 ...