python學習筆記(11) 檔案與資料格式化

2022-08-19 21:36:08 字數 3360 閱讀 6285

檔案的概念:

檔案是資料的抽象和集合,是儲存在輔助儲存器上的資料序列,檔案是資料儲存的一種形式,檔案的展現形態,文字檔案和二進位制檔案。

f.txt檔案儲存:「我是中國人」

>>> tf=open("

d:/python_test/f.txt

", "rt"

)>>>tf

d:/python_test/f.txt

' mode='

rt' encoding='

cp936

'>

>>>print(tf.readline())

我是中國人

>>>tf.close

二進位制檔案輸出:

>>> bf=open("

d:/python_test/f.txt

", "rb"

)>>>print(bf.readline())b'

\xce\xd2\xca\xc7\xd6\xd0\xb9\xfa\xc8\xcb

'>>>bf.close

in method close of _io.bufferedreader object at 0x0000000002fd8f68>

檔案的開啟和關閉

檔案處理步驟:開啟->操作->關閉

open : 檔案的儲存狀態->檔案的占用狀態

close: 檔案的占用狀態->檔案的儲存狀態

常用的讀寫檔案操作:a.read(size)  a.readline(size)  a.readlines(hint)  a.write(s)  a.writelines(lines)  a.seek(offset)

1、檔案的開啟

《變數名》 = open(《絕對路徑/相對路徑/檔名》, 《開啟模式》)

'r'  唯讀模式,預設值,如果檔案不存在,返回filenotfounderror

'w' 覆蓋寫模式,檔案不存在則建立,存在則完全覆蓋

'x' 建立寫模式,檔案不存在則建立,存在則返回fileexisterror

'a' 追加寫模式,檔案不存在則建立,存在則在檔案最後追加內容

『b』 二進位制檔案形式

't' 文字檔案模式,預設值

『+』 與r/w/x/a一同使用,在原功能基礎上增加同時讀寫功能

f = open('f.txt', 'a+')    文字形式開啟,追加寫模式 + 讀檔案

f = open('f.txt', 'b')    二進位制形式開啟,讀模式

2、檔案的關閉

《變數名》.close()

如果呼叫了open沒有呼叫close,程式執行過程中,檔案就一直處於開啟模式,在程式退出後,python的直譯器會將檔案關閉。要注意呼叫close。

3、檔案內容的讀取

.read(size = -1)    讀入全部內容,如果輸入引數,讀入前size長度,指標下移

.readline(size = -1) 讀入一行內容,如果給出引數,讀入該行的前size長度,指標下移

.readlines(hint=-1) 讀入檔案所有行,以每行為元素形成列表,如果給出引數,讀入前hint行

fname=input("

請輸入檔名稱:")

fo = open(fname,"r"

)for line in

fo.readlines():

print(line)

fo.close()

一次性讀入檔案,會消耗很多記憶體,一般採用分行讀入,逐行處理的思路

fname=input("

請輸入檔名稱:")

fo = open(fname,"r"

)for line in

fo: print(line)

fo.close()

4、資料的檔案寫入

.write(s)  向乙個檔案中寫入字串或者位元組流,指標下移

.writelines(lines) 將乙個元素全為字串的列表寫入檔案 ,直接拼接,不換行,指標下移

ls=["

中國","

法國","英國"

]tf.writelines(ls)

「中國法國英國」

.seek(offset) 改變當前檔案操作指標的位置,offset的含義如下:0-檔案開頭,1-當前位置,2-檔案結尾

fo=open("

output.txt

",'w+')

ls=["

中國","

法國","英國"

]fo.writelines(ls)

fo.seek(0)

for line in

fo: print(line)

fo.close()

輸出:"中國法國英國"

5、例項 從檔案中讀取資料繪製圖形

#autodraw

import turtle as t

t.setup(

800,600,0,0

)t.pencolor(

"read")

t.pensize(5)

datals =

f = open("

d:/python_test/data.txt")

for line in

f: line = line.replace("

\n",""

) '''將\n替換為,'''

split(","

)))) /map 對第二個引數中的每乙個元素,執行第乙個引數的函式/

datals

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])

舉一反三:

1、自動化思維:資料和功能分離,資料驅動的自動執行

2、介面化設計:格式化設計介面,清晰明了

3、二維資料應用:應用維度組織資料,二維資料最常用

4、擴充套件介面設計,增加更多控制介面

5、擴充套件功能設計

6、擴充套件應用需求

python學習11 檔案,流

開啟檔案 語法如下 open name,module buffering 模式 和緩衝引數都是可選的 f open r c text somefile.txt 如果檔案不存在traceback most recent call last file line 1,in f open r c text ...

python學習11 檔案操作

1.檔案 open file,mode r buffering 1,encoding none,errors none,newline none,closefd true,opener none file 檔案路徑 其中雙斜槓表示轉義也可以用反斜槓代替這兩個斜槓。mode 開啟方式 其中 w表示先將...

python學習筆記(六)檔案與異常

1 讀取和寫入文字檔案 它們的返回值是乙個檔案物件 infile open input.txt r 以讀模式開啟檔案,檔案必須已經存在 outfile open outpt.txt w 以寫模式開啟檔案,檔案不存在會自動建立,若存在會被清空 infile.close outfile.close 若以...