Python學習筆記 四 檔案操作

2021-08-07 15:53:06 字數 1733 閱讀 3323

讀取鍵盤輸入

buf = raw_input("please input your name")

buf = raw_input()

開啟檔案

如果hello.txt不存在

fp = open("hello.txt","w")  #w是說建立這個檔案,以寫的方式開啟

fp.write("text")

fp.close()

如果hello.txt已存在,以讀的方式開啟

fp = open("hello.txt","r")

fp = open("hello.txt","r+") #表示即可讀也可寫

mode檔案訪問許可權

r 唯讀

w 只寫,如果不存在則建立,如果檔案存在,則截斷檔案。會清空檔案。

a 追加,如果不存在,就建立檔案。

r+ 讀寫方式開啟

w+ 可讀可寫檔案,最大的區別是w後面那句話

a+ 追加開啟,可讀可寫,如果檔案不存在則建立

buf = fp.read(1000)最多讀1000個位元組

比方檔案裡有abcdefg,用r+開啟 寫入123,則變成123defg,為什麼?

因為開啟檔案時,指標位於開頭,如果這時候寫東西,那麼是從開頭寫。如果先fp.read(),則指標會移動到檔案結尾,這時候寫東西,就會從末尾開始寫了。

fp.open("hello.txt","r+")

buf = fp.read()

buf=>

12345678

fp.write("abc")

fp.flush()

fp.seek(0)

buf = fp.read()

buf=>12345678abc

seek用來移動指標的。

例子1:

res=fp.seek(0)

fp.write("aaaa")

fp.flush()

fp.seek(0)

fp.read()

=>aaaa5678abc

例子2

fp.seek(4)

fp.write('***x')

fp.flush()

fp.seek(0)

buf=fp.read()

buf=>aaaa***xabc

如何理解呢?python底層是c/c++語法,類似於file結構體

結構體包含以下幾部分

close()

write()

read()

seek()移動讀寫指標

tell()返回讀寫指標所在位置。

1、手動flush()

2、fflush()重新整理緩衝區,緩衝區滿時,自動重新整理,緩衝區一般8192bytes位元組大小

3、檔案關閉時,自動重新整理。

stdout可以看做乙個檔案,標準輸出 fprint(「123」)時,只是將123寫入緩衝區了。也可以通過fclose(stdio)來關閉檔案。

python學習筆記(四)檔案操作和集合

python學習筆記 四 檔案操作和集合 檔案基本操作 現有檔案file.txt 1 f open file.txt r 以唯讀方式開啟乙個檔案,獲取檔案的控制代碼,如果是讀的話,r可以不寫,預設就是唯讀 檔案不存在時,會報錯 2 first line f.readline 獲取檔案的第一行內容,返...

Python學習筆記(四) 檔案讀取

教程 莫煩python 環境 pycharm 寫開啟 寫入內容 text this is a test.nthe second line nfinal line my file open myfile.txt a 以寫形式開啟檔案 my file.write text 往檔案裡寫內容 my file...

PYTHON學習筆記(十) 檔案操作

1.檔案讀寫 檔案讀寫步驟 開啟檔案 open 檔名稱 開啟方式 檔案開啟方式 檔案的操作 開啟檔案 open 預設的編碼是gbk,也就是中文編碼 也可以在開啟檔案時給它指定乙個編碼型別 w模式會在檔案已存在的情況下,會將檔案原來的內容覆蓋 fobj open test.txt w encoding...