Python入门实例验证及结果之实例12 自动轨迹绘制 ## 文件的使用

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])

结果一:
在这里插入图片描述
通过这个实例我们可以扩展方法思维
—自动化思维:数据和功能分离,数据驱动的自动运行
—接口化设计:格式化设计接口,清晰明了
—二维数据应用:应用维度组织数据,二维数据最常用
应用问题扩展
—扩展接口设计,增加更多控制接口
—扩展功能设计,增加弧形等更多功能

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值