對檔案的操作

2021-10-03 20:23:07 字數 1134 閱讀 8290

對檔案的操作大致分為3類

第一類為r(唯讀):

當進行唯讀操作時,無法對文字進行更改。注意:當進行r操作時游標會移至最前方從而讀取游標後的內容。

第二類為w(只寫):

當進行只寫操作時,無法對檔案進行讀取操作。注意:當進行只寫操作時會情況檔案裡的內容。

第三類為a(只追加):

當進行只追加操作時,無法讀取內容。注意:當進行只追加操作時游標會移至末尾並在末尾新增操作。

具體操作為:

f=open('開啟的檔案',mode='操作模式',encoding='編碼方式')

f.close

例如:f=open('a.txt',mode='r',encoding='utf-8'):

​ print(f.read())

f.close()

但你接觸剛開始是不是發現很容易忘記f.close()呢?

那麼這就有個很好解決問題的方法了

我們將f=open('開啟的檔案',mode='操作模式',encoding='編碼方式')更改為

with open('開啟的檔案',mode='操作模式',encoding='編碼方式')as f:

這樣你就算忘記f.close,with也會自動幫你關閉檔案的操作了。

以上都是關於t也就是文字有關的操作了

現在說說b也就是byte了。

b模式與t模式不同的是t僅僅只能針對文字檔案,而b能針對所有檔案。但與之相對的是通過b模式的輸入和輸出需要特定的格式來使用。其他用法與t相同

readline:一次讀一行

readlines:一次讀多行

注意:f.read()與f.readlines()都是將內容一次性讀入記憶體,如果內容過大會導致記憶體溢位。而readline是一行行讀入不會對記憶體進行浪費。

writelines():多行寫入

flush: 重新整理檔案內容

seek(n,模式):

n指的是移動的位元組個數:

當n>0時游標向右移動

當n<0時游標向左移動

模式指的是012相對應的操作:

當數為0時游標移至最前方

當數為1時游標留在原地不變

當數為2時游標移至最後方。

tell() # 獲取檔案指標當前位置

對檔案的操作

win32 shfileoperation 1.將 c test.txt 拷貝到 d shfileopstruct lpsh zeromemory lpsh,sizeof lpsh lpsh.hwnd hwnd desktop lpsh.fflags fof noconfirmation fof p...

MFC對檔案的操作

cfile的派生類cstdiofile提供了對檔案進行流式的操作功能。其中函式void cstdiofile writestring lpctstr lpsz 寫入乙個字串,需要給字串lpsz的末尾加上換行標誌 r n 函式bool cstdiofile readstring cstring rst...

對檔案的讀寫操作

c c 寫入 讀出文字檔案 string filename c i.txt streamreader sr new streamreader filename string str sr.readline sr.close rw.writeline 寫入 rw.writeline abc rw.wr...