概述
嚴格講,檔案不屬於資料型別。
02操作
1)開啟檔案
(1)基本語法:file=open(『檔名』,mode)
引數mode模式可選引數,分為:r讀 w寫 a追加
r/w/a後面可接第二個引數,b標書二進位制,f=open('data.bin','rb')
(2)完整語法格式為:
open(file, mode='r', buffering=-1, encoding=none, errors=none, newline=none, closefd=true, opener=none)
引數說明:
file: 必需,檔案路徑(相對或者絕對路徑)。
mode:可選,檔案開啟模式
buffering: 設定緩衝
encoding:一般使用utf8
errors: 報錯級別
newline: 區分換行符
closefd: 傳入的file引數型別
opener:
mode 引數有:
2)建立檔案
myfile = open('hello.txt','w') #建立txt檔案
3)寫入檔案
myfile.write("人生苦短,快用python")
myfile.close() #使用 open() 方法一定要保證關閉檔案物件,即呼叫 close() 方法。
4)讀取檔案
例子:f=open('data.bin','rb') #讀取二進位制檔案。
(1)read預設讀取所有內容,且讀取完再讀取沒有資訊,此時指標指在檔案末尾
(2)一行一行讀取
f = open ('hello.txt')
f.readline()
(3)讀取所有行並列印
f = open ('hello.txt')
f.readlines()
注意:檔案物件提供了三個「讀」方法: .read()、.readline() 和 .readlines()。每種方法可以接受乙個變數以限制每次讀取的資料量,但它們通常不使用變數。
.read() 每次讀取整個檔案,它通常用於將檔案內容放到乙個字串變數中。然而 .read() 生成檔案內容最直接的字串表示,但對於連續的面向行的處理,它卻是不必要的,並且如果檔案大於可用記憶體,則不可能實現這種處理。
.readline() 和 .readlines() 非常相似。它們都在類似於以下的結構中使用:
readlines() 示例:
fh = open( 'c:\\test.txt')
for line in fh.readlines():
print line.readline() 和 .readlines()之間的差異是後者一次讀取整個檔案,象.read()一樣。.readlines()自動將檔案內容分析成乙個行的列表,該列表可以由python的for... in ...結構進行處理。另一方面,.readline()每次只讀取一行,通常比.readlines()慢得多。僅當沒有足夠記憶體可以一次讀取整個檔案時,才應該使用.readline()。
寫:writeline()是輸出後換行,下次寫會在下一行寫。
write()是輸出後游標在行末,不會換行,下次寫會接著這行寫
5)pickle讀取python『物件』
python很多資料有型別,當這些型別資料放入文字中,會導致型別丟失。
例子:下面例子為①定義了三個變數1,2,3和乙個list為[1,2,3]
②把他們分別存入檔案,
③把他們分別讀取出來
注意: 1,2,3存入使用了format方法,list存入使用了str轉換為字串再存入。存入檔案後,資料型別都變成了字元型,如果想還原還需要分割逐個還原。
所以用檔案儲存有資料型別內容,比較麻煩。
解決方法:①序列化概念:即可以把原本在記憶體中的各種型別可以序列號為一種結構。需要時候還可以還原回來。
②python準備了乙個模組pickle(音譯皮克樂):可以直接儲存和讀取本地的python型別物件
例:①定義乙個字典d,
②定義乙個二進位制檔案datafile.pkl(二進位制檔案字尾可以自己隨意取)
③匯入pickle
④用dump方法把d寫入f中
⑤用load方法把f資料讀取到data中,檢視仍然是原來型別資料。可以用字典方法操作data,說明型別沒有發生變化
6)用with方法開啟檔案
如果操作乙個檔案,又擔心忘了關閉,可以如下操作:
用with方法把檔案開啟存入乙個臨時變數f中,
當程式執行完with範圍後會自動脫離該檔案即關閉檔案
以後開啟檔案可以習慣用with開啟檔案
python 13 檔案操作 之二
一 檔案操作的常用方法 1 read 從游標位置開始讀取整個檔案剩下的內容,注意是從游標位置開始,不一定是讀取整個檔案。第一次讀取 f open test.txt r print f.read f.close 自恐多情損梵行,入山又怕誤傾城.世間安得雙全法,不負如來不負卿.第二次讀取 f open ...
python(13) 檔案處理應用 增刪改查
使用者選擇1,增加功能 使用者輸入www.oldboy2.org和server 11111 weight 2222 maxconn 3333後,在www.oldboy2.org下增加一條server資訊 server 11111 weight 2222 maxconn 3333使用者選擇2,刪除功能...
python基礎(13) 檔案
檔案的基本方法 可使用函式open,它位於自動匯入的模組io中。1.open函式將檔名作為唯一必不可少的引數,返回乙個可讀取的檔案物件 open a.py a.py mode r encoding cp936 2.如果要寫入檔案,必須通過指定模式來顯式地指出這一點 3.若不存在該檔案,則會產生如下錯...