字符串格式化 :”{}{}{}“.format() |
将字符串按照一定规格和式样进行规范 |
数据格式化:将一组数据按照一定规格和式样进行规范 |
包括对一组数据的表示、存储和运算等 |
文件的类型
文本文件:由单一特定编码组成的文件,如UTF-8编码,如.txt文件、.py文件 |
二进制文件:直接由比特0和1组成,没有统一字符编码,如.png文件、.avi文件等 |
文件的打开和关闭
文件处理的步骤:打开-操作-关闭
文件的打开 | a=open(<文件名>,<打开模式>) |
文件的关闭 | a.close() |
文件的打开模式 | 描述 |
‘r’ | 只读模式,默认值,如果文件不存在,返回FileNotFoundError |
'w' | 覆盖写模式,文件不存在则创建,存在则完全覆盖 |
'x' | 创建写模式,文件不存在则创建,存在则返回FileExistsError |
'a' | 追加写模式,文件不存在则创建,存在则在文件最后追加内容 |
‘b’ | 二进制文件模式 |
't' | 文本文件模式,默认值 |
'+' | 与r/w/x/a一同使用,在原功能基础上增加同时读写功能 |
#文本形式打开文件
tf=open("f.txt","rt")
print(tf.readline())
tf.close()
#二进制形式打开文件
bf=open("f.txt","rb")
print(bf.readline())
bf.close()
我在.py文件所在目录下创建了一个文件,但是打不开,先放在这,以后在看看,为了后续例子好讲,这里给出文本文档的内容:中国是个伟大的国家!
以二进制形式打开没什么差错
但是以文本形式确不可行
tf=open("f.txt","rt",encoding="utf-8")
print(tf.readline())
中国是个伟大的国家!
感谢神奇的互联网
可以找到同款问题
读文件函数 | a.read(size) |
a.readline(size) | |
a.readlines(hint) | |
写文件函数 | a.write(s) |
a.writelines(lines) | |
a.seek(offset) |
文件内容的读取
操作方法 | 描述 |
<f>.read(size=-1) | 读入全部内容,如果给出参数,读入前size长度 |
<f>.readline(size=-1) | 读入一行内容,如果给出参数,读入该行前size长度 |
<f>.readlines(hint=-1) | 读入文件所有行,以每行为元素形成列表,如果给出参数,读入前hint行 |
没想到呀为何是这样哈哈啊哈
看来每次都得重新打开文件
数据的文件写入
操作方法 | 描述 |
<f>.write(s) | 向文件写入一个字符串或字节流 |
<f>.writelines(lines) | 将一个元素全为字符串的列表写入文件 |
<f>.seek(offset) | 改变当前文件操作指针的位置,offset含义如下: |
0 回到文件开头 1 当前位置 2文件结尾 |
我发现名为"f.txt"的文本文件被改写了
实例11:自动轨迹绘制
需求:根据脚本来绘制图形
不是写代码而是写数据绘制轨迹
数据脚本是自动化最重要的第一步
基本思路
步骤一:定义数据文件格式(接口)
步骤二:编写程序,根据文件接口解析参数绘制图形
步骤三:编制数据文件
import turtle as t
t.title("自动轨迹绘制") #绘制窗口的标题栏的信息
t.setup(800,600,0,0) #设置绘制窗口的大小
t.pencolor("red") #设置初始绘制的画笔颜色
t.pensize(5) #绘制画笔的粗细
#数据读取
datals=[]
f=open("data.txt",encoding="utf-8")
for line in f:
line=line.replace("\n","")
datals.append(list(map(eval,line.split(","))))
f.close()
#自动绘制
for i in range(len(datals)):
t.pencolor(datals[i][3],datals[i][4],datals[i][5])
t.fd(datals[i][0])
if datals[i][1]:
t.right(datals[i][2])
else:
t.left(datals[i][2])
我们既然要打开文件
那么必然得创建文件
#数据接口定义
300,0,144,1,0,0 #300是行进距离,0和1是转向判断(0左转,1右转),144表示转向角度,后三个参数是RGB三个通道颜色(0-1之间浮点数)
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
184,0,72,0,0,0
184,0,72,0,0,0
184,0,72,0,0,0
184,1,72,1,0,1
184,1,72,0,0,0
184,1,72,0,0,0
184,1,72,0,0,0
184,1,72,0,0,0
184,1,720,0,0,0
很神奇感觉学了很久
还是觉得新奇
python值得!!!