標籤:指標 程式 key 畢業 std 圖片 檔案 寫檔案 擷取
1 檔案的開啟和關閉
開啟
在python,使用open函數,可以開啟一個已經存在的檔案,或者建立一個新檔案
open(檔案名稱,訪問模式)
樣本如下:
f = open(‘test.txt‘, ‘w‘)
說明:
| 訪問模式 |
說明 |
| r |
以唯讀方式開啟檔案。檔案的指標將會放在檔案的開頭。這是預設模式。 |
| w |
開啟一個檔案只用於寫入。 如果該檔案已存在則將其覆蓋。如果該檔案不存在,建立新檔案。 |
| a |
開啟一個檔案用於追加。如果該檔案已存在,檔案指標將會放在檔案的結尾。 也就是說,新的內容將會被寫入到已有內容之後。如果該檔案不存在,建立新檔案進行寫入。 |
| rb |
以二進位格式開啟一個檔案用於唯讀。檔案指標將會放在檔案的開頭。這是預設模式。 |
| wb |
以二進位格式開啟一個檔案只用於寫入。 如果該檔案已存在則將其覆蓋。如果該檔案不存在,建立新檔案。 |
| ab |
以二進位格式開啟一個檔案用於追加。 如果該檔案已存在,檔案指標將會放在檔案的結尾。 也就是說,新的內容將會被寫入到已有內容之後。如果該檔案不存在,建立新檔案進行寫入。 |
| r+ |
開啟一個檔案用於讀寫。檔案指標將會放在檔案的開頭。 |
| w+ |
開啟一個檔案用於讀寫。 如果該檔案已存在則將其覆蓋。如果該檔案不存在,建立新檔案。 |
| a+ |
開啟一個檔案用於讀寫。如果該檔案已存在,檔案指標將會放在檔案的結尾。 檔案開啟時會是追加模式。如果該檔案不存在,建立新檔案用於讀寫。 |
| rb+ |
以二進位格式開啟一個檔案用於讀寫。檔案指標將會放在檔案的開頭。 |
| wb+ |
以二進位格式開啟一個檔案用於讀寫。 如果該檔案已存在則將其覆蓋。如果該檔案不存在,建立新檔案。 |
| ab+ |
以二進位格式開啟一個檔案用於追加。如果該檔案已存在, 檔案指標將會放在檔案的結尾。如果該檔案不存在,建立新檔案用於讀寫。 |
關閉檔案
close( )
樣本如下:
# 建立一個檔案,檔案名稱為:test.txt f = open(‘test.txt‘, ‘w‘) # 關閉這個檔案 f.close()
2 檔案的讀寫
3 檔案的定位讀寫
<1>擷取當前讀寫的位置
在讀寫檔案的過程中,如果想知道當前的位置,可以使用tell()來擷取
# 開啟一個已經存在的檔案 f = open("test.txt", "r") str = f.read(3) print "讀取的資料是 : ", str # 尋找當前位置 position = f.tell() print "當前檔案位置 : ", position str = f.read(3) print "讀取的資料是 : ", str # 尋找當前位置 position = f.tell() print "當前檔案位置 : ", position f.close()
<2>定位到某個位置
如果在讀寫檔案的過程中,需要從另外一個位置進行操作的話,可以使用seek()
seek(offset, from)有2個參數
- offset:位移量
- from:方向
- 0:表示檔案開頭
- 1:表示當前位置
- 2:表示檔案末尾
demo:把位置設定為:從檔案開頭,位移5個位元組
# 開啟一個已經存在的檔案 f = open("test.txt", "r") str = f.read(30) print "讀取的資料是 : ", str # 尋找當前位置 position = f.tell() print "當前檔案位置 : ", position # 重新設定位置 f.seek(5,0) # 尋找當前位置 position = f.tell() print "當前檔案位置 : ", position f.close()
demo:把位置設定為:離檔案末尾,3位元組處
# 開啟一個已經存在的檔案 f = open("test.txt", "r") # 尋找當前位置 position = f.tell() print "當前檔案位置 : ", position # 重新設定位置 f.seek(-3,2) # 讀取到的資料為:檔案最後3個位元組資料 str = f.read() print "讀取的資料是 : ", str f.close()4 檔案的重新命名、刪除
有些時候,需要對檔案進行重新命名、刪除等一些操作,python的os模組中都有這麼功能
<1>檔案重新命名
os模組中的rename()可以完成對檔案的重新命名操作
rename(需要修改的檔案名稱, 新的檔案名稱)
import os os.rename("畢業論文.txt", "畢業論文-最終版.txt")
<2>刪除檔案
os模組中的remove()可以完成對檔案的刪除操作
remove(待刪除的檔案名稱)
import os os.remove("畢業論文.txt")
檔案夾的相關操作
實際開發中,有時需要用程式的方式對檔案夾進行一定的操作,比如建立、刪除等
就像對檔案操作需要os模組一樣,如果要操作檔案夾,同樣需要os模組
<1>建立檔案夾
import os os.mkdir("張三")
<2>擷取目前的目錄
import os os.getcwd()
<3>改變預設目錄
import os os.chdir("../")
<4>擷取目錄列表
import os os.listdir("./")
<5>刪除檔案夾
import os os.rmdir("張三")
python-基礎-檔案操作