您好,登錄后才能下訂單哦!
本文實例講述了Python打開文件、文件讀寫操作、with方式、文件常用函數。分享給大家供大家參考,具體如下:
在python3中,打開文件的函數是:
open(file, mode='r', buffering=None, encoding=None, errors=None, newline=None, closefd=True)
file--文件名
mode—打開模式,默認只讀模式
buffering--如果buffering的值被設為0,就不會有寄存。如果buffering的值取1,訪問文件時會寄存行。如果將buffering的值設為大于1的整數,表明了這就是的寄存區的緩沖大小。如果取負值,寄存區的緩沖大小則為系統默認。
encoding—打開文件的編碼方式
r:只讀模式(默認)
w :只寫模式,如果文件不存在就創建,如果存在,寫入的數據會覆蓋原來的數據
b :二進制模式
t :文本模式
+:可寫可讀模式
a:追加模式,如果文件存在則文件指針指向文件末尾(追加數據),如果不存在就創建
r+:讀追加模式,先讀,再追加
w+:寫讀模式,先寫,意味著原本內容丟失,再讀。
print("r".center(50,'-')) f=open("file.txt",encoding="utf-8") print(f.read()) f.close() ----------------- 運行結果: my sas aaa fsafsa 中文 中文 葫蘆娃
文件使用完畢后必須關閉: 文件指針.close()
讀取文件內容如下:
print("r".center(50,'-')) f=open("file.txt",encoding="utf-8") print(f.read()) f.close() --------------------------- 運行結果: my sas aaa fsafsa 中文 中文 葫蘆娃
print("r".center(50,'-')) f=open("file.txt",encoding="utf-8") print(f.readline()) f.close() ----------- 運行結果: my
print("r".center(50,'-')) f=open("file.txt",encoding="utf-8") print(f.readlines()) f.close() #------------------------r------------------------- #運行結果: ['my\n', 'sas\n', 'aaa\n', 'fsafsa\n', '中文\n', '中文\n', '葫蘆娃\n', '\n']
print("r".center(50,'-')) f=open("file.txt","r+",encoding="utf-8") # print(f.readline()) f.write("hello mike") f.close()
結果:
print("r".center(50,'-')) f=open("file.txt","r+",encoding="utf-8") print(f.readline()) f.write("hello mike") f.close()
新結果:
myfile=open("myfile1","wb") myfile.write(b"nnnnnn") myfile.write("my葫蘆娃".encode("utf-8")) myfile.close()
myfile=open("myfile1","wb") myfile.write(b"nnnnnn") myfile.writelines([b'1',b'2',b'3',b'4']) myfile.close()
myfile=open("myfile1","wb+") myfile.write(b"nnnnnn") myfile.seek(0) print(myfile.read()) myfile.close()
myfile=open("myfile1","wb+") myfile.write(b"1nnnnnn") site=myfile.tell() myfile.write(b"2nnnnnn") myfile.seek(site)##讀出后一段 print(myfile.read()) myfile.close()
with open("file.txt","r+",encoding="utf-8") as f:##將自動執行f.close() print(f.tell()) f.write("金剛") for line in f: print(line,end="")
with open("file.txt",'r') as f ,\ open("file.new",'r') as m: print(f.read(),m.read())
file.close():關閉文件。關閉后文件不能再進行讀寫操作
file.seek(offset[, whence]):設置文件當前位置
file.tell():返回文件當前位置。
myfile=open("myfile1","wb+") myfile.write(b"1nnnnnn") site=myfile.tell() myfile.write(b"2nnnnnn") myfile.seek(site)##讀出后一段 print(myfile.read()) myfile.close()
file.flush():刷新文件內部緩沖,立即把內部緩沖區的數據寫入文件,因為并不是馬上將文件
import time myfile=open("myfile1","wb+") myfile.write(b"1nnnnnn") time.sleep(10) # myfile.flush() myfile.write(b"2nnnnnn") myfile.close()
上述代碼,直到程序運行完成才一次性寫入“1nnnnnn2nnnnnn”
import time myfile=open("myfile1","wb+") myfile.write(b"1nnnnnn") myfile.flush() time.sleep(10) myfile.write(b"2nnnnnn") myfile.close()
上述代碼,可以看到,在程序sleep之前就已經寫入了“1nnnnnn”
file.truncate([size]):截取文件,從文件開頭,截到指定位置,會覆蓋原文件。
文件內容:
print("r".center(50,'-')) f=open("file.txt","r+",encoding="utf-8") print(f.readline()) print("----truncate()-------") print(f.tell()) m=f.tell() f.truncate(m)#內容從0位置截斷到指定位置,不論當前光標位置 f.close()
執行后,文件內容:
更多關于Python相關內容感興趣的讀者可查看本站專題:《Python文件與目錄操作技巧匯總》、《Python文本文件操作技巧匯總》、《Python數據結構與算法教程》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》及《Python入門與進階經典教程》
希望本文所述對大家Python程序設計有所幫助。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。