檔案的開啟與關閉
想一想:
如果想用word編寫乙份簡歷,應該有哪些流程呢?
開啟word軟體,新建乙個word檔案寫入個人簡歷資訊
儲存檔案
關閉word軟體
同樣,在操作檔案的整體過程與使用word編寫乙份簡歷的過程是很相似的 (io操作)<1>開啟檔案開啟檔案,或者新建立乙個檔案
讀/寫資料
關閉檔案
在python,使用open函式,可以開啟乙個已經存在的檔案,或者建立乙個新檔案 open(檔名,訪問模式)說明:示例如下:
f = open(
'test.txt'
, 'w'
)
訪問模式 說明
r以唯讀方式開啟檔案。檔案的指標將會放在檔案的開頭。這是預設模式。 w
開啟乙個檔案只用於寫入。如果該檔案已存在則將其覆蓋。如果該檔案不存在,建立新檔案。 a
開啟乙個檔案用於追加。如果該檔案已存在,檔案指標將會放在檔案的結尾。也就是說,新的內容將會被寫入到已有內容之後。如果該檔案不存在,建立新檔案進行寫入。 rb
以二進位制格式開啟乙個檔案用於唯讀。檔案指標將會放在檔案的開頭。這是預設模式。 wb
以二進位制格式開啟乙個檔案只用於寫入。如果該檔案已存在則將其覆蓋。如果該檔案不存在,建立新檔案。 ab
以二進位制格式開啟乙個檔案用於追加。如果該檔案已存在,檔案指標將會放在檔案的結尾。也就是說,新的內容將會被寫入到已有內容之後。如果該檔案不存在,建立新檔案進行寫入。 r+
開啟乙個檔案用於讀寫。檔案指標將會放在檔案的開頭。 w+
開啟乙個檔案用於讀寫。如果該檔案已存在則將其覆蓋。如果該檔案不存在,建立新檔案。 a+
開啟乙個檔案用於讀寫。如果該檔案已存在,檔案指標將會放在檔案的結尾。檔案開啟時會是追加模式。如果該檔案不存在,建立新檔案用於讀寫。
rb+以二進位制格式開啟乙個檔案用於讀寫。檔案指標將會放在檔案的開頭。
wb+以二進位制格式開啟乙個檔案用於讀寫。如果該檔案已存在則將其覆蓋。如果該檔案不存在,建立新檔案。
ab+以二進位制格式開啟乙個檔案用於追加。如果該檔案已存在,檔案指標將會放在檔案的結尾。如果該檔案不存在,建立新檔案用於讀寫。
<2>關閉檔案
close( )示例如下:
# 新建乙個檔案,檔名為:test.txt檔案的讀寫f = open(
'test.txt'
, 'w'
) # 關閉這個檔案
f.close()
<1>寫資料(write)
使用write()可以完成向檔案寫入資料<2>讀資料(read)f = open(
'test.txt'
, 'w')
f.write(
'hello world, i am here!')
f.close()
注意:
使用read(num)可以從檔案中讀取資料,num表示要從檔案中讀取的資料的長度(單位是位元組),如果沒有傳入num,那麼就表示讀取檔案中所有的資料demo:
f = open('test.txt', 'r')content = f.read(1024)
print(content)
print("-"*30)
content = f.read()
print(content)
f.close()
注意:應用1:檔案的copy
<3>讀資料(readlines)
就像read沒有引數時一樣,readlines可以按照行的方式把整個檔案中的內容進行一次性讀取,並且返回的是乙個列表,其中每一行的資料為乙個元素
#coding=utf-8<4>讀資料(readline)f = open(
'test.txt'
, 'r')
content = f.readlines()
print(type(content))
i=1
fortemp
incontent:
print(
"%d:%s"
%(i, temp))
i+=1
f.close()
#coding=utf-8f = open(
'test.txt'
, 'r')
content = f.readline()
print(
"1:%s"
%content)
content = f.readline()
print(
"2:%s"
%content)
f.close()
想一想:檔案的定位讀寫如果乙個檔案很大,比如5g,試想應該怎樣把檔案的資料讀取到記憶體然後進行處理呢?
<1>獲取當前讀寫的位置tell
在讀寫檔案的過程中,如果想知道當前的位置,可以使用tell()來獲取
# 開啟乙個已經存在的檔案<2>定位到某個位置f = open(
"test.txt"
, "r")
str = f.read(3)
"讀取的資料是 : "
, str
# 查詢當前位置
position = f.tell()
"當前檔案位置 : "
, position
str = f.read(3)
"讀取的資料是 : "
, str
# 查詢當前位置
position = f.tell()
"當前檔案位置 : "
, position
f.close()
如果在讀寫檔案的過程中,需要從另外乙個位置進行操作的話,可以使用seek()
seek(offset, from)有2個引數demo:把位置設定為:從檔案開頭,偏移5個位元組
# 開啟乙個已經存在的檔案f = open(
"test.txt"
, "r")
str = f.read(
30)
"讀取的資料是 : "
, str
# 查詢當前位置
position = f.tell()
"當前檔案位置 : "
, position
# 重新設定位置
f.seek(5,
0) # 查詢當前位置
position = f.tell()
"當前檔案位置 : "
, position
f.close()
demo:把位置設定為:離檔案末尾,3位元組處
# 開啟乙個已經存在的檔案
f = open(
"test.txt"
, "r"
)
# 查詢當前位置
position = f.tell()
"當前檔案位置 : "
, position
# 重新設定位置
f.seek(-3,
2)
# 讀取到的資料為:檔案最後3個位元組資料
str = f.read()
"讀取的資料是 : "
, str
f.close()
python之檔案的開啟與關閉
在python系統中,檔案是乙個物件型別,類似字典,元組等其他型別。python系統的檔案概念不侷限於磁碟上的檔案,還可以是抽象的,具有檔案型介面的類檔案。摘自 python程式設計教程 python提供open 函式建立檔案物件,並開啟要讀寫的檔案open 開啟格式 open buffer 其中,...
python 檔案的開啟關閉
文字檔案和二進位制檔案 檔案可以看成是儲存在輔助儲存器上的資料序列,可以包含任何資料內容。檔案包括兩種形式 文字檔案和二進位制檔案。文字檔案一般由特定編碼的字元組成,二進位制檔案由位元0和位元1組成,沒有統一的字元編碼,資料的組織形式與檔案用途有關。文字檔案和二進位制檔案的根本區別是是否有統一的字元...
Python之檔案的開啟關閉
1.建立磁碟 上的檔案與程式中的物件相關聯 2.通過相關的檔案物件獲得 1 讀取 2 寫入 3 其他 追加 計算等 1 切斷檔案與程式的聯絡 2 寫入磁碟,並釋放檔案緩衝區 1 open 2 open 磁碟檔名 3開啟模式 1 例如,開啟乙個名為7.1 txt檔案 2 textfile open 7...