關於python開啟檔案你所不知道的

2022-05-18 18:30:24 字數 1493 閱讀 6259

python開啟檔案是否為動態獲取檔案的內容?什麼意思呢? 就是我寫乙個程式,開啟乙個檔案,一直對他迴圈讀取,我在另乙個程式,開啟這個檔案,以a的模式追加內容,那麼第乙個程式是否能讀取到第二個程式追加的內容呢?  還是說第一次讀取的檔案  僅僅是一開始讀到的內容呢。

建設乙個file檔案,內容就為吧lqwzs

這個程式就是讀檔案,第一次讀取全部的內容,注意!!!:讀完後檔案的seek(游標位置)停在末尾,再讀的話就是從原來檔案末尾讀,那麼能不能讀到內容呢?接下來看

執行一下:

很容易理解,把內容讀取到了

這個程式就是在不斷的追加內容,很容易理解. 接下來就是關鍵了!!!,我在檔案末尾新增內容。

那麼能否被讀取到呢

請看:

挖草,怎麼就被讀到了呢,什麼原因呢,python讀取檔案是動態的嘛,什麼原因呀,我的理解就是,python一切皆物件,檔案是物件,也是容器吧,他對應的記憶體位址,是固定的,但是由於這個記憶體位址是容器型的(我覺得我再瞎扯  呵呵呵),內部是可以改變的,就像list之類的吧,這樣其他程式在新增的,增加了檔案記憶體位址所指向的內容,記憶體位址本身沒有改變,所有就能讀到吧,我不禁想到了之前遇到的乙個習題:

哭了,怎麼就這樣了阿 ,讓我來瞎扯一下吧,在函式呼叫的時候,b是乙個預設的列表容器,指向乙個記憶體位址,在經過fun(1),b新增了乙個元素1,此時b指向的記憶體位址並沒有改變,只不過記憶體位址裡面內容改變了,b的記憶體位址並沒有改變,第二次呼叫這個函式,還是用的是b的記憶體位址,此時的b為[1,2,1],經過第二次呼叫,新增乙個元素,就這樣了[1, 2, 1, '阿這,阿這,又是為什麼呢']   

注: lqw的第乙個文章,第一次,寫了乙個小時,發現對知識的理解不夠深,感覺是明白了,描述起來,模模糊糊,不夠準確吧     要加油那

python開啟檔案 Python檔案開啟模式

python 內建函式 python 內建函式 python open 函式用於開啟乙個檔案,建立乙個 file 物件,相關的方法才可以呼叫它進行讀寫。寫入檔案時,不會自動加入換行,需要手動在末尾加入,在每個元素後面都換行n,可以用 fo.writelines line n for line in ...

關於python檔案 關於python檔案操作

總是記不住api。昨晚寫的時候用到了這些,但是沒記住,於是就索性整理一下吧 python中對檔案 資料夾 檔案操作函式 的操作需要涉及到os模組和shutil模組。得到當前工作目錄,即當前python指令碼工作的目錄路徑 os.getcwd 返回指定目錄下的所有檔案和目錄名 os.listdir 函...

關於C開啟檔案失敗

c語言可以做到使用檔案的多種方式,例如開啟乙個用於讀取的文字檔案,建立乙個用於寫入的文字檔案,附加乙個文字檔案等等。現在我們討論一下關於使用c語言開啟檔案錯誤的情景。fopen函式用來開啟乙個檔案,其有固定的呼叫形式 檔案指標名 fopen 檔名,r 我們這裡討論開啟所以是 r 如有其他操作則給fo...