python中的文件操作


python中的文件操作

文件的類型

1.文件是存儲在輔助存儲器上的數據序列,是數據存儲的一種形式
2.文件的展現形式為文本文件和二進制文件,本質上,所有文件都是二進制形式存儲的
3.文本文件由單一特定編碼組成的文件,如UTF-8編碼。由於存在編碼,也被看成是存儲着的長字符串,比如.txt,.py文件等。
4.直接由比特0和1組成,沒有統一字符編碼,比如.png,.avi文件等

文件的打開操作關閉

文件的使用包括文件的打開-文件的操作(讀取和寫入)-文件的關閉(特別注意文件的打開和文件的操作的區別)
文件的打開

文件名就是為了能夠找到文件。
比如一個文件的路徑為D:\python\f.txt 那在文件中應該寫成 "D:/python/f.txt" "D:\\python\\f.txt"。使用/或\\來代替\
當源文件同目錄時可以省路徑。

文件的打開方式

文件的打開模式
描述
'r'(read) 只讀模式,默認值,如果文件不存在,返回FileNotFoundError
'w'(write) 覆蓋寫模式,文件不存在則創建,存在則完成覆蓋
'x'(create) 創建寫模式,文件不存在則創建,存在則返回FileExistsError
'a'(append) 追加寫模式,文件不存在則創建,存在則在文件最后追加內容
'b' 二進制文件模式
't' 文本文件模式,默認值
'+' 與r/w/x/a一同使用,在原功能基礎上增加同時讀寫功能

前面r,w,x,a選擇的是打開的模式,后面的b,t選擇的是文件類型,前后搭配使用。

# 以文本形式只讀打開,加上encoding='utf-8'是因為打開中文文件可能會出錯
tf = open("f.txt","rt",encoding='utf-8')
# 以二進制形式只讀打開
bf = open("f.txt","rb")

文件內容的讀取

操作方法 描述
.read(size=-1) 讀入全部內容,如果給出參數,讀入前size長度
.readline(size=-1) 讀入一行內容,如果給出參數,讀入該行前size長度
.readlines(hint=-1) 讀入文件所有行,以每行為元素形成列表。如果給出參數,讀入前hint行
# 文件的全文本操作
fo = open(f.txt,'r')
txt = fo.read()    # 一次讀入,統一處理
fo.close()

fo = open(f.txt,'r')
txt = fo.read(2)    # 按數量讀入,逐步處理
while txt !="":
  txt = fo.read(2)
fo.close()

# 文件的逐行操作
fo = open(f.txt,'r')
for line in fo.readlines():   # 一次讀入,分行處理
  print(line)
fo.close()

fo = open(f.txt,'r')
for line in fo:   # 分行讀入,逐行處理
  print(line)
fo.close()

文件內容的寫入

操作方法
描述
.write(s) 向文件寫入一個字符串或字節流
.writelines(lines) 將一個元素全為字符串的列表寫入文件
.seek(offset) 改變當前文件操作指針的位置,offset含義如下:0-文件開頭;1-當前位置;2-文件結尾
fo = open("f.txt","w+")     # 打開f.txt,即可讀又可寫
ls = ["小紅","小明","李華"]
f.writelines(ls)
fo.seek(0)    # 指針在文件的結尾,讓指針重新回到文件的開頭,讀取才有輸出
for line in fo:
  print(line)
fo.close()
>>>小紅小明李華
# 文件的寫入如果需要空格換行需要自己加入" "和"\n",不然都是以緊湊的形式寫入 

文件的關閉

<變量名>.close


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM