簡單文件操做

1、簡述文件操做post

文件操做是經過將存在硬盤中的文件調用至內存,人經過操做系統對內存中的文件數據進行操做。編碼

內存:unicode字符spa

硬盤:utf-8字符操作系統

通常文件數據以unicode字符編碼存儲是比以utf-8字符編碼儲存佔用空間大的,可是,不管用戶輸入什麼字符存入內存,unicode均可以兼容。一樣,硬盤中不管是以什麼編碼的文件讀到內存,均可以兼容unicode。指針

只有unicode編碼存在內存中,其他編碼都在硬盤裏。code

(內存中)unicode 二進制字符經過編碼(encode)→(硬盤中)utf-8二進制字符對象

(硬盤中)utf-8二進制字符解碼(decode)→(內存中)unicode二進制字符blog

保證文件不亂碼的核心就是,保證用什麼編碼存就用什麼編碼取,注意文本編碼與解釋器碼要一致。內存

補充:utf-8

在Python2中,默認的字符編碼ascill碼,由於當時的unicode碼尚未盛行,在Python3中,默認的字符編碼是utf-8編碼,文件開頭以#coding:utf-8,用英文字符。是爲了讓全部的計算機均可以識別。

pycharm默認的字符編碼是:utf-8

window操做系統默認的字符編碼是:GBK

打開文件的三種模式

一、 r模式,

  只讀,若是文件不存在的話會報錯

二、w模式

  只寫,若是文件不存在,則建立一個文件,將內容寫入

  若是文件存在,則會先將文件裏的內容清空,再將內容寫進去

三、a模式

  若是文件存在,則再內容後面追加內容

  若是文件不存在,則建立一個文件,將內容寫入

打開文件的語法格式:

with open(r‘帶後綴的文件名’,mode=‘打開模式’,encoding='文件的編碼格式')as  f  :

r :用來轉義‘帶後綴的文件名’路徑中的轉義字符

帶後綴的文件名 :能夠是絕對路徑,也能夠是相對路徑

文件編碼格式 :與打開的文件編碼模式一致便可

f  :文件對象的建成,便於後面使用

舉例說明文件操做模式使用

r模式:

with open('a.txt',mode='r', encoding ='utf-8') as f:
      print(f.readable())     #判斷文本是否能夠讀取 
      print(f.read())           #讀全部
      print(f.readline())   #執行一次,打印一次
      print(f.readlines())  #執行一次,打印全部行內容,返回的是列表

w模式:

#w只寫模式:在文件不存在時會建立空文檔,文件存在會清空文件,文件指針會跑到文件開頭
with open('b.txt', mode ='w',encoding='utf-8')as f:
    f.write('你好\n')
    f.write('我好\n')
    f.write('你們好\n')
  #注意:
#在文件不關閉的狀況下,連續的寫入,後寫的內容必定跟在前寫內容的後面
#若是從新以w模式打開文件,則會清空文件內容

a模式:

#a只追加寫模式:在文件不存在時會建立空文檔,文件存在會將文件指針直接移動到文件末尾
with open(’c.txt’,mode='a',encoding='utf-8')as f:
    f.write('44444\n')
    f.write('55555\n')
相關文章
相關標籤/搜索