2020年2月28日星期五
今天我们来学习文件的使用并验证自动轨迹绘制实例
文件的使用
文件的类型
文件是存储在辅助存储器上的数据序列
文件是数据存储的一种形式
文件展示形态:文本文件和二进制文件
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200227221735459.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXz
文件的打开关闭
绝对路径、相对路径
7种打开模式
文件内容的读取
.readline(size=-1):读入一行内容,如果给出参数,读入该行前size长度:
s=f.readline()
中国是一个伟大的国家!
特点:一次读入,统一处理
如果这样的文本文件体量特别大,一次性将文件读入内存,将会耗费非常多的时间和资源
特点:按数量读入,逐步处理
特点:一次读入,分行处理
分行读入,逐行处理
数据的文件写入
将各个元素直接拼接,写入文件,并不是将列表元素的每个元素当成一行写入
这里之所以要加fo.seek(0)的原因:在打开文件将列表ls的内容写入文件之后,此时指针指向写入内容之后,如果不加这行代码将指针调整至文件开头,就会从指针后面开始打印,它并不能输出我们已经写过的信息,为了需要将我们写过的信息输出,需要调整当前写入后的指针,回到文件的初始位置,从初始位置开始再进行逐行遍历,就能够将文件的全部信息打印输出
自动轨迹绘制实例验证
—需求:根据脚本来绘制图形
—不是写代码而是写数据绘制轨迹
—数据脚本是自动化最重要的第一步
在我们任何的领域中只要希望我们的程序能够自动化或者模块化,设计相关的脚本或者数据接口是其中很重要的过程
问题分析:自动轨迹绘制就是给出一个文件,文件中列出了一些数据参数,但是它并不是python程序,只是数据参数,那么经过一个程序的加载和运行,就能够自动的绘制出我们期望的一个轨迹
基本思路
步骤1:定义数据文件格式(接口)
步骤2:编写程序,根据文件接口解析参数绘制图形
步骤3:编制数据文件
代码一:
#AutoTraceDraw.py
import turtle as t#引用turtle库
t.title("自动轨迹绘制")
t.setup(600,800,0,0)
t.pensize(5)
t.pencolor("red")
#数据读取
datals=[]#建立一个空列表
f=open("data.txt")
for line in f:
line=line.replace("\n"," ")#将每一行的换行符替换为空格
datals.append(list(map(eval,line.split(","))))#将字符串line以","为分隔符分离转换为列表类型添加到datals中
f.close()
#自动控制
for i in range(len(datals)):
t.pencolor(datals[i][3],datals[i][4],datals[i][5])#将datals的[i][3]、[i][4]、[i][5]分别作为参数赋给pencolor
t.fd(datals[i][0])
if datals[i][1] :
t.right(datals[i][2])
else:
t.left(datals[i][2])
结果一:
通过这个实例我们可以扩展方法思维
—自动化思维:数据和功能分离,数据驱动的自动运行
—接口化设计:格式化设计接口,清晰明了
—二维数据应用:应用维度组织数据,二维数据最常用
应用问题扩展
—扩展接口设计,增加更多控制接口
—扩展功能设计,增加弧形等更多功能