1.絕對路徑函數
E:\studyP\day1\123.py 這就是絕對路徑編碼
2.相對路徑spa
相對於當前這個程序所在的⽂件夾⽽⾔,同一文件夾下的文件blog
..\day1\123.pyip
w:寫,只能寫模式內存
r:讀,只讀模式utf-8
a:追加,只能寫模式文檔
不多用,由於不管是先寫仍是先讀,w+會把原來的文本所有刪除而後在寫入或讀取,寫入後 光標在文本末尾class
r+讀寫模式:一開始就寫操做的話,寫的數據會覆蓋掉對應的開頭數據,而且寫入的是字節test
r+讀寫模式,若是你進行讀操做後,在寫操做的話,會在文本的末尾寫上數據,寫入的也是字節,與光標無關
a+追加讀模式,不管是一開始就進行寫操做仍是先進行讀操做再寫都是在文件的末尾增 加數據
b:bytes,這裏處理文件的時候是字節,用於處理非文本文件的時候有帶b的
wb:寫字節
rb:讀字節
ab:追加字節
下面的通常用於斷點
w+b:
r+b:
a+b:(用於斷點續傳)
r:光標在開頭
w:光標在開頭(由於w的緣由文件裏面的內容都被幹掉了)
a:光標在末尾
r+:光標在開頭
w+:光標在開頭(由於w的緣由文件裏面的內容都被幹掉了)
a+:光標在末尾
f = open("../day1/files1/test.txt",mode = "r",encoding = "utf-8")
f.read() #讀取整個文件,這裏注意若是文件過大會形成內存溢出
f.read(3) #讀取文件的第三個字節
f.readline() #讀取文件的一行
爲何會出現這個問題呢?由於readine讀完文檔後以\n結尾,print執行完後也是以\n結尾,就 會致使兩個\n一同出現的局面,下面給個更直觀的數據
咱們能夠經過strip()來刪除空格和\n
readline還能夠循環迭代:
這裏迭代其實是調用readline()
f.readlines() #讀取文件的全部行,這裏注意若是文件過大會形成內存溢出
f.seek() #移動光標
seek(offset[,whence]),offset是偏移量,也就是光標移動的字節數,whence,可選,默認值爲 0,表示光標要從哪一個位置開始偏移,0表示從文件開頭開始偏移,1表示從光標當前位置開 偏移,2表示從文件末尾開始偏移.
f.trancate() #截取文件,默認爲把光標後面的數據幹掉,也能夠指定位置截斷,單位是字節