接著我們來看a模式。
a模式只是追加寫模式,它只能寫不能讀。
還是老套路,我們來看當文件不存在的時候會發(fā)生什么情況。
with open(r'G:\PythonProject\學習\學習文件\date\d.txt', mode='at', encoding='utf-8') as f:
pass
還是寫一個不存在的路徑。然后運行。
看見左邊文件夾里面出現了d.txt。
所以說a模式下文件不存在時會新建一個空白文件,恩建指針也會在開始位置。
如果當文件存在時,文件指針會調到末尾。
現在我在這個文件里寫點內容。
然后我先在這個子代碼塊這里試試f.read()。
with open(r'G:\PythonProject\學習\學習文件\date\d.txt', mode='at', encoding='utf-8') as f:
f.read()
報錯了,說不能讀。
那繼續(xù)試試寫,用f.write(),然后里面加一個\n。
with open(r'G:\PythonProject\學習\學習文件\date\d.txt', mode='at', encoding='utf-8') as f:
f.write('那么短,還站那么遠\n')
運行一下,然后再來看d.txt文件。
我們可以看到,把剛剛的那句話寫到最后了。
這正是因為a模式下文件指針會直接跳到最后,所以我們用write寫的時候,就是從指針當前位置開始寫。
所以我們寫的內容就是在最后面了。
現在如果我在這個子到嗎塊里接著寫,就是說在這個文件美觀的時候連續(xù)寫,其實就和w模式下是一樣的。
with open(r'G:\PythonProject\學習\學習文件\date\d.txt', mode='at', encoding='utf-8') as f:
f.write('那么短,還站那么遠\n')
f.write('那么短,還站那么遠\n')
都是接著后面寫,來運行看看。
在d.txt文件里面,就又多了兩條。
如果我繼續(xù)運行,就會又多兩條‘那么短,還站那么遠’。
a模式和w模式的區(qū)別就是,a模式每次打開文件,文件指針會跳到最后。
w模式每次打開文件會先清空文件,文件指針再回到開頭。
所以w模式我們一般用來寫新文件,a模式我們一般給老文件增加內容。
比如日志文件,用戶的交易記錄什么的。
如果niyongw模式來寫用戶的交易記錄的話,你第一的用戶充值之后第二個用戶再來充值,然后你前面用戶的充值記錄就被清空了。
你的文件里永遠就只有最后一個用戶的充值記錄。
未經允許不得轉載:445IT之家 » 零基礎Python到全棧-a模式