文件的打開
函數:open(filename,mode)
返回:一個文件對象
filename為文件名,mode為打開的模式創新互聯公司主營高唐網站建設的網絡公司,主營網站建設方案,重慶APP軟件開發,高唐h5重慶小程序開發公司搭建,高唐網站營銷推廣歡迎高唐等地區企業咨詢
代碼:
file = open('filename','r')
print(file)測試結果:
- 模式:
- r:只讀模式打開,文件指針放在開頭
- w:寫模式,默認從文件開頭開始覆寫(會刪除已有內容)
- a:追加(寫),默認從文件尾部開始寫
- b:以二進制形式打開(打開非純文本文件時使用)
- +:可讀可寫
- x:創建并進入寫模式,文件存在則報錯
- t:文本模式
注:‘b’ ’t‘ ‘+’需和其他模式組合使用,w和a如果不存在目標文件則會創建新文件,r模式不存在則會報錯。代碼:
file = open('test_file','r') #test_file不存在,報錯
測試結果:
文件對象的方法
上面我們創建了一個名為file的文件對象,下面介紹文件對象的方法:
讀操作
- 函數:file.read(size)
返回:從當前指針位置開始讀取,以 字符串 或 字節 對象形式返回讀取到的數據
size為數值類型的參數,決定讀取數據的長度,省略或小于0則讀取文件的所有內容- 函數:file.readline(limit)
返回:從當前指針位置開始讀取一行,以 字符串 或 字節 對象形式返回該行數據,返回空說明已經讀到了文件的最后一行
limit為數值類型的參數,可以限制單行讀取的數據長度- 函數:file.readlines(sizeint)
返回:從當前指針位置開始讀取,以列表形式,返回文件的所有行(以行為界分割的字符串所組成)
sizeint為數值類型的參數,決定讀取數據的長度
寫操作
- 函數:file.write(string)
返回:返回當前指針所在的位置
string為寫入文件的字符串- 函數:file.writelines(seq)
返回:返回當前指針所在的位置
seq為即將寫入的序列,自動將字符串拼接并從當前位置寫入
文件對象位置
- 函數:f.tell()
返回:文件對象當前所處的位置, 它是從文件開頭開始算起的字節數。
調整文件對象位置
- 函數:f.seek(offset, from_what)
返回:返回更改后的所處位置
offset為移動的相對位置,2表示后移2個,-1表示前移1個
from_what為參考點,0為文件開頭,1為當前位置,2為文件末尾
注:文本文件中沒有用二進制打開的文件必須從開頭計算位置,即from_what為0,否則會報錯。
關閉文件
- 函數:file.close()
當你處理完一個文件后, 調用 f.close() 來關閉文件并釋放系統的資源
如果嘗試再調用該文件,則會拋出異常。代碼:
file = open('test_file','w+') file.write("hello python\nhello world\nhello westos\n*****") file.close() file = open('test_file','r') print(file.read()) file.seek(0,0) print(file.readable()) print(file.readline()) print(file.tell())
測試結果:
with語句
利用with語句可以簡化文件的打開和關閉
with語句執行完畢后會自動關閉文件對象
語法:with expression as f: 語句
- 利用with語句將文件1中的數據寫入文件2:
with open('data.txt') as f1,\ open('data_test','w+') as f2: f2.write(f1.read())
利用yeild實現文件的讀取
def bylineread(filename): # 定義一個生成器 with open(filename) as f: # 打開文件 line = f.readline # 讀取一行 while line: # 讀到最后一行跳出循環 yield line line = f.readline() # 讀取一行 read = bylineread('data.txt') # read代表生成器對象 for item in read: # 遍歷生成器對象中的元素 print(item)
Iterable
另外有需要云服務器可以了解下創新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
本文題目:Python基礎【文件】-創新互聯
當前網址:http://www.yijiale78.com/article0/hoeio.html
成都網站建設公司_創新互聯,為您提供網站設計、網站設計公司、用戶體驗、搜索引擎優化、微信公眾號、App設計
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯