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()
結果如下: