1、打開檔案讀
打開檔案,從頭到尾讀完後,再執行read()就沒有了
關閉後就不能讀
readlines()和readline()差別:
readline() :一行一行讀取,傳回字元串,當指針到檔案末尾後,傳回空
readlines():整個内容都輸出,再輸入,傳回空
fd.next(): 和readline() 差不多,不過讀完最後一行,傳回報錯
2、打開檔案寫
f = open('/tmp/123.txt','w') #當執行這句話後,檔案立刻被清空
f.write('456') #寫入456,此刻123.txt檔案還沒有寫入内容,隻有當檔案關閉才會寫入
f.close() #此刻寫入
比如要關閉檔案。如果不關閉,導緻内容無法寫入
3、追加模式(a),沒有讀的權限,隻有追加的權限
4、[root@centos7-3 python]# cat file1.py
<code>**注意:這裡for line in fd,其實可以從fd.readlines()中讀取,但是如果檔案很大,那麼就會一次性讀取到記憶體中,非常占記憶體,而這裡fd存儲的是對象,隻有我們讀取一行,它才會把這行讀取到記憶體中,建議使用這種方法。**</code>
1、
with open('123.txt') as fd:
while True:
line=fd.readline()
if not line:
break
print line,
2、with open('123.txt','w+') as fd:
fd.write('123123\n123123')
3、計算記憶體大小
startswith():以什麼開頭的行列出來
.split():以什麼分隔符分割,預設是空格
In [66]: with open('/proc/meminfo') as fd:
...: for line in fd:
...: if line.startswith('MemTotal'):
...: total=line.split()[1]
...: continue
...: if line.startswith('MemFree'):
...: free=line.split()[1]
...: break
...: print "%.2f" %(int(free)/1024.0) + 'M'
...:
1460.55M
練習1:
\n:表示換行符
現有一個檔案test.txt ,内容如下:
1234efgh
abcd5678
要求讀出檔案内容,對内容的順序進行編輯,然後重新寫入到檔案,使其為如下形式
12345678
abcdefgh
In [1]: with open('test.txt','w') as fd:
...: fd.write('12345678\nabcdefgh\n')
本文轉自 iekegz 51CTO部落格,原文連結:http://blog.51cto.com/jacksoner/2055606,如需轉載請自行聯系原作者