檔案的概念:
檔案是資料的抽象和集合,是儲存在輔助儲存器上的資料序列,檔案是資料儲存的一種形式,檔案的展現形態,文字檔案和二進位制檔案。
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、例項 從檔案中讀取資料繪製圖形
#autodrawimport 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 若以...