上一篇文章: Python異常處理
下一篇文章: Python文件夾處理
打開語法:open(文件名,訪問模式)關閉語法:close()程序員
訪問模式 | 解釋 |
---|---|
r | 以只讀方式打開,文件的指針將會放在文件的開頭。這是默認方式。 |
w | 打開一個文件,用於全新寫入。若是文件以存在,將會覆蓋,若是不存在,將會建立。 |
a | 打開一個文件,用於追加。若是文件以及存在,將會把文件指針放到文件末尾,若是不存在,將會新建。 |
rb | 以二進制方式打開一個文件,用於只讀。 |
wb | 以二進制方式打開一個文件,用於全新寫入。若是文件已經存在,將會覆蓋,若是不存在,將會建立。 |
ab | 以二進制方式打開一個文件,用於追加寫入。若是文件存在,將會把文件指針放到文件末尾;若是不存在,將會新建。 |
r+ | 打開一個文件用讀寫,文件指針將會放在文件開頭。 |
w+ | 打開一個文件用於讀寫。若是文件已經存在,則覆蓋,不存在則建立。 |
a+ | 打開一個文件用於追加讀寫。若是文件已經存在,文件指針將會在文件末尾。若是文件不存在,將會建立。 |
rb+ | 以二進制方式打開一個文件用於讀寫,文件指針將放在文件開頭。 |
wb+ | 以二進制方式打開一個文件用於讀寫,若是文件存在將被覆蓋,不存在將會建立。 |
ab+ | 以二進制方式打開一個文件用於讀寫,若是文件存在,文件指針將會在文件末尾,若是文件不存在,將會建立。 |
實例:segmentfault
#第一次運行將會新建一個文件test.txt file=open("text.txt","w") #關閉 file.close()
結果:指針
當前目錄下回出現一個新文件:text.txtcode
使用write()來寫入數據
實例:rem
#第一次運行將會新建一個文件test.txt file=open("text.txt","w") file.write("這麼帥的程序員,人間罕見呀。") #關閉 file.close()
結果:text.txt文件內容爲:get
這麼帥的程序員,人間罕見呀。
read(num):num表示從文件中讀取的長度,單位字節,若是沒有傳num,將會讀取文件的全部內容。
實例:it
text.txt:table
這麼帥的程序員,人間罕見呀。
程序代碼:class
#第一次運行將會新建一個文件test.txt file=open("text.txt","r") print(file.read(2)) print(file.read()) #關閉 file.close()
結果:test
這麼 帥的程序員,人間罕見呀。
不難看出:若是讀了屢次,下次讀取是從上次讀取結束位置開始的。
readlines(num):num爲讀取行數,若是不指定,將會返回所有,返回結果是有每行數據做爲每一個元素而組成的列表。
實例:
text.txt:
這麼帥的程序員,人間罕見呀。 如今看到這句話的人是世上最幸運的人, 由於他(她)看到了的最帥的程序員寫的Bug。
程序代碼:
#第一次運行將會新建一個文件test.txt file=open("text.txt","r") content=file.readlines() #type方法用來查看對於數據所屬類型 print(type(content)) print(content) #關閉 file.close()
結果:
<class 'list'> ['這麼帥的程序員,人間罕見呀。\n', '如今看到這句話的人是世上最幸運的人,\n', '由於他(她)看到了的最帥的程序員寫的Bug。']
每次讀取一行
實例:
text.txt:
這麼帥的程序員,人間罕見呀。 如今看到這句話的人是世上最幸運的人, 由於他(她)看到了的最帥的程序員寫的Bug。
程序代碼:
#第一次運行將會新建一個文件test.txt file=open("text.txt","r") print(file.readline()) print(file.readline()) print(file.readline()) #關閉 file.close()
結果:(每行後面都有換行符,全部下面結果行數之間會有空格)
這麼帥的程序員,人間罕見呀。 如今看到這句話的人是世上最幸運的人, 由於他(她)看到了的最帥的程序員寫的Bug。
tell():獲取當前讀寫位置。
實例:
text.txt:(注意,此處該用了字母,沒有漢字,用了漢字結果會怎樣呢,有獎競猜呢😀)
ABCDEFG
程序代碼:
#第一次運行將會新建一個文件test.txt file=open("text.txt","r") print("當前位置:",file.tell()) print("讀取到的數據:",file.read(3)) print("當前位置:",file.tell()) print("讀取到的數據:",file.read(3)) print("當前位置:",file.tell()) #關閉 file.close()
結果:(每行後面都有換行符,全部下面結果行數之間會有空格)
當前位置: 0 讀取到的數據: ABC 當前位置: 3 讀取到的數據: DEF 當前位置: 6
seek(offset,from):用來進行定位。offset:偏移量
from:0表示文件開頭,1表示當前位置,2表示文件結尾
實例:
text.txt:(注意,此處該用了字母,沒有漢字,用了漢字結果會怎樣呢,有獎競猜呢😀)
ABCDEFG
程序代碼:
#第一次運行將會新建一個文件test.txt file=open("text.txt","r") print("當前位置:",file.tell()) print("讀取到的數據:",file.read(1)) print("當前位置:",file.tell()) #將位置移動到:從文件開始的3個字節處 file.seek(3,0) print("當前位置:",file.tell()) print("讀取到的數據:",file.read(1)) #關閉 file.close()
結果:(每行後面都有換行符,全部下面結果行數之間會有空格)
當前位置: 0 讀取到的數據: A 當前位置: 1 當前位置: 3 讀取到的數據: D
os模塊中的rename()能夠完成對文件的重命名
import os #將text.txt重名爲mark.txt os.rename("text.txt","mark.txt")
os模塊中的remove()能夠完成文件刪除操做
import os os.remove("mark.txt")