2 檔案 檔案操作

2022-02-27 17:45:58 字數 2616 閱讀 9685

def fileno(self, *args, **kwargs): #

real signature unknown

返回檔案控制代碼在核心中的索引值,以後做io多路復用時可以用到

def flush(self, *args, **kwargs): #

real signature unknown

把檔案從記憶體buffer裡強制重新整理到硬碟

def readable(self, *args, **kwargs): #

real signature unknown

判斷是否可讀

def readline(self, *args, **kwargs): #

real signature unknown

唯讀一行,遇到\r or

\n為止

def seek(self, *args, **kwargs): #

real signature unknown

把操作檔案的游標移到指定位置

*注意seek的長度是按位元組算的, 字元編碼存每個字元所佔的位元組長度不一樣。

如「路飛學城」 用gbk存是2個位元組乙個字,用utf-8就是3個位元組,因此以gbk開啟時,seek(4) 就把游標切換到了「飛」和「學」兩個字中間。

但如果是utf8,seek(4)會導致,拿到了飛這個字的一部分位元組,列印的話會報錯,因為處理剩下的文字時發現用utf8處理不了了,因為編碼對不上了。少了乙個位元組

def seekable(self, *args, **kwargs): #

real signature unknown

判斷檔案是否可進行seek操作

def tell(self, *args, **kwargs): #

real signature unknown

返回當前檔案操作游標位置

def truncate(self, *args, **kwargs): #

real signature unknown

按指定長度截斷檔案

*指定長度的話,就從檔案開頭開始截斷指定長度,不指定長度的話,就從當前位置到檔案尾部的內容全去掉。

def writable(self, *args, **kwargs): #

real signature unknown

判斷檔案是否可寫

讀取乙個字元'路

'>>> f.tell() #

游標移動2個位元組

2>>>f.seek(0)

0>>> f.read(1)'路

'>>> f.read(1)'費

'>>>f.tell()

4>>> f.seek(3) #

游標移動到第3個位元組

3>>>f.tell()

3>>> f.read(1) #

gbk 乙個字元佔2個位元組 #讀取失敗

traceback (most recent call last):

file

"", line 1, in

unicodedecodeerror:

'gbk

' codec can'

t decode byte 0xb5 in position 4: illegal multibyte sequence

>>> f = open('

file_1.bak

','r+')

>>> f.truncate(3) #

剩下3個位元組長度

3

2 檔案操作

新增檔案到版本庫 先保證檔案在之前建立的倉庫目錄下 第一步,用命令 git add告訴git,把檔案新增到倉庫 執行完後沒什麼顯示就對了 第二步,用命令 git commit告訴git,把檔案提交到倉庫 m後面輸入的是本次提交的說明,可以輸入任意內容 注意 commit可以一次提交很多檔案,所以你可...

1 檔案測試 2 檔案操作

1 檔案測試函式 2 檔案操作 新建檔案 fopen filename,w 以 寫 的方式開啟乙個不存在的檔案,就會新建該檔案 檔案刪除 unlink 檔案複製 copy filename,aaa bb.txt 盡量使用 和相對路徑,因為linux只認 也沒有磁碟分割槽,而windows 和 都認 ...

13 檔案操作 2 讀操作

三 檔案讀取偏移量 檔案讀寫的介面位於io包,file檔案類是這些介面的實現類。read 實現的是按位元組數讀取 readbyte make byte 128 指定要讀取的長度 for fmt.println read string readbyte n if n 128 bufio封裝了io.re...