python13檔案 13 Python 檔案

2021-10-11 22:25:58 字數 2298 閱讀 4693

概述

嚴格講,檔案不屬於資料型別。

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.若不存在該檔案,則會產生如下錯...