天天看點

使用for循環周遊檔案、使用while循環周遊檔案

使用for循環周遊檔案、使用while循環周遊檔案

1、打開檔案讀

打開檔案,從頭到尾讀完後,再執行read()就沒有了

使用for循環周遊檔案、使用while循環周遊檔案

關閉後就不能讀

使用for循環周遊檔案、使用while循環周遊檔案

readlines()和readline()差別:

readline() :一行一行讀取,傳回字元串,當指針到檔案末尾後,傳回空

readlines():整個内容都輸出,再輸入,傳回空

fd.next(): 和readline() 差不多,不過讀完最後一行,傳回報錯

使用for循環周遊檔案、使用while循環周遊檔案
使用for循環周遊檔案、使用while循環周遊檔案

2、打開檔案寫

f = open('/tmp/123.txt','w') #當執行這句話後,檔案立刻被清空

f.write('456') #寫入456,此刻123.txt檔案還沒有寫入内容,隻有當檔案關閉才會寫入

f.close() #此刻寫入

比如要關閉檔案。如果不關閉,導緻内容無法寫入

3、追加模式(a),沒有讀的權限,隻有追加的權限

使用for循環周遊檔案、使用while循環周遊檔案

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():以什麼開頭的行列出來

使用for循環周遊檔案、使用while循環周遊檔案

.split():以什麼分隔符分割,預設是空格

使用for循環周遊檔案、使用while循環周遊檔案

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,如需轉載請自行聯系原作者