一.文件的理解
1.概述
文件时储存在辅助存储器上的数据序列
文件是数据存储的一种形式
文件的展现形态:文本文件和二进制文件
2.文本文件
由单一特定编码组成的文件,如UTF-8编码
由于存在编码,所以也被看成长字符串
适用于.txt /.py文件等
3.二进制文件
直接由比特0和1组成,没有统一字符编码
一般存在二进制0和1的组织结构,即文件格式
适用于**.png/.avi**文件等
二.文件的操作
1.文件的打开与关闭
f=open("f.txt","r")
f.close()
文件的打开格式
<变量名>=open(<文件路径和名称>,<打开模式>)
文件路径和名称
D:\study\math\data.txt
当源文件和要打开的文件同目录时,可以省略路径,直接使用data.txt
打开模式
‘r’——只读模式(默认值),如果文件不存在,返回FileNotFoundError
‘w’——覆盖写模式,文件不存在则创建,存在则完全覆盖
‘x’——创建写模式,文件不存在则创建,存在则返回FileExitsError
‘a’——追加写模式,文件不存在则创建,存在则在文件最后追加内容
‘b’——二进制文件模式
‘t’——文本文件模式,默认值
‘+’——与r/w/x/a同用,增加读写功能
2.文件内容读取
<f>.read(size)
#参数为空读入全部内容,给出参数读出前size长度
<f>.readline(size)
#参数为空读入一行内容,给出参数读出该行前size元素
<f>.readlines(hint)
#参数为空读入所有行,以每行为元素形成列表,给出参数,读入前hint行
3.文件的写入
<f>.write(s)
#向文件写入一个字符串或字节流
<f>.writelines(lines)
#将一个元素全为字符串的列表写入文件
<f>.seek(offset)
改变当前文件操作指针的位置,offset含义如下
0是文件开头,1是当前位置,2是文件结尾
三.turtle通过文件自动轨迹绘制
1.步骤
定义数据文件格式(接口)
编写程序,根据文件接口解析绘制图形
编写数据文件
2.map()函数
map函数是python的内置函数,会根据提供的函数对指定的序列做映射。
map(function,iterable)
#需要传递两个参数
#function——一个函数
#iterable一个或多个可迭代序列
#map函数返回一个集合,是function函数作用于iterable后的结果
def fun(x):
return x+1
print(list(map(fun,[1,2,3])))
#打印结果为[1,4,9]
3.自动轨迹绘制
import turtle,time
turtle.title("自动轨迹绘制")
turtle.pensize(5)
turtle.pencolor("red")
#数据读取
datas=[]
f=open("E:\\drawdata.txt")
for line in f:
line=line.replace("\n"," ")
datas.append(list(map(eval,line.split(","))))
f.close()
#自动绘制
for i in range(len(datas)):
turtle.pencolor(datas[i][3],datas[i][4],datas[i][5])
turtle.fd(datas[i][0])
if datas[i][1]:
turtle.right(datas[i][2])
else:
turtle.left(datas[i][2])
time.sleep(3)
4.drawdata.txt文件
300,0,144,1,0,0
300,0,144,0,1,0
300,0,144,0,0,1
300,0,144,1,1,0
300,0,108,0,1,1
184,0,72,1,0,1