1. 文件的基础_常用的编码
1.1 ASCII码(标准化字符集):用于字符和ASCII之间的转换
常用函数ord(),chr()
1.2 Unicode
统一且唯一的二进制编码;
每个字符两个字节长;
65536个字符的编码空间。
1.3 UTF-8 编码—可变长度的Unicode
1.4 GBK 编码—汉子内码扩展规范
1.5 编码解码
python中字符串类型是未编码的
encode() :编码
decode() :解码
1.6 文件数据按其组织形式的不同可以分为文本文件和二进制文件
文本文件:是指以ASCII码方式存储的文件。英文、数字等字符存储的是ASCII码
多行文本用(\n)表示换行
二进制文件:广义的指由文件在外部设备的存放形式为二进制而得名;狭义的指除文本文件的其他文件,如:照片、音乐、视频、计算机程序等
注:文本文件是基于字符定长的ASCII;二进制文件是变长的,灵活利用率高
2. 文件的基本处理
2.1 打开文件 open()
格式:<variable>=open(<name>,<mode>)
<name> : 磁盘文件名
<open> : 打开模式
打开模式:
2.2 读取文件
2.3 写入文件
2.4 关闭文件 close()
完成文件操作后需要关闭文件才能操作有效
2.5 遍历文件—最常见的文件处理方法
常用在:拷贝文件;根据数据文件定义行走路径;将文件由一种编码转换为另一种编码
通用代码框架:
file = open(someFile,"r")
For line in file:
#处理一行文件内容
file.close()
例:使用遍历框架拷贝文件内容
def main():
f1=input("输入源文件名:").strip()
f2=input("输入拷贝文件名::").strip()
infile=open(f1,"r")
outfile=open(f2,"w")
c1=c2=0
for line in infile:
c1+=1
c2+=len(line)
outfile.write(line)
print(c1," lines and ",c2," chars copied ")
infile.close()
outfile.close()
main()
3. 文件操作实例
使用文件数据绘制
文件里保存如下数据
第一列为长度,第二列为方向,第三列为角度,四五六为颜色
import turtle
def main():
#窗口信息
turtle.title('数据驱动的动态路径绘制')
turtle.setup(800,600,0,0)
#画笔信息
pen=turtle.Turtle()
pen.color("red")
pen.width(5)
pen.shape("turtle")
pen.speed(1)
result=[]
file=open("123.txt","r")
for line in file:
result.append(list(map(float,line.split(','))))
print(result)
for i in range(len(result)):
pen.color((result[i][3],result[i][4],result[i][5]))
pen.fd(result[i][0])
if result[i][1]:
pen.rt(result[i][2])
else:
pen.lt(result[i][2])
pen.goto(0,0)
main()
结果如下: