文本文件/二进制方式存储
单一特定编码组成的文件 - 'utf-8’编码,即就是一个长字符串
二进制没有统一字符编码
file = open(‘nihao.txt’,‘rb’)
'a’是追加写模式,文件不存在则创建,存在则在文件最后追加内容
文件内容的读取
f.read(size = -1)读入全部内容,若给出参数,则读入前size长度的字节
f.readline(size = -1) 读入一行内容,若给出参数,则读出前size长度
f.readlines(hint=-1) 读入文件所有行,以每行为元素形成列表,若给出参数,则读出前 hint行
fname = input('请输入要打开的文件名 :')
fo = open(fname,'r')
txt = fo.read(2)
while txt != '':
#对文件处理
txt = fo.read(2)
fo.close()
数据的文件写入
f.write(s)
f.writelines(lines) #讲一个元素全为字符串的列表写入文件,并且写入后的文件元素之间 没有任何符号,直接进行拼接的。
f.seek(offset) 0:文件开头 1:当前位置 2:文件结尾
fo = open('output.txt','w+')
ls = ['中国','法国','日本']
fo.writelines(ls)
fo.seek(0) #若没有这行代码,则在打印的时候,文件的指针处于文件的最末尾,此时没有内容打印出来
for line in fo:
print(line)
fo.close()
自动轨迹绘制
import turtle as t
t.title('自动轨迹分析')
t.setup(800, 600, 0, 0)
t.pencolor('red')
t.pensize(5)
#数据读取
datas = []
f = open('data.txt')
for line in f: #逐行处理文件中的信息
line.replace('\n','')
datas.append(list(map(eval,line.split(',')))) #map函数,将第一个参数的性质加在第二个字符串参数上;每一行作为列表里的一个元素
#自动绘制
for i in range(len(datas)):
t.pencolor(datas[i][3], datas[i][4],datas[i][5])
t.fd(datas[i][0])