6. Python語言對文件的操作

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



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章