from: http://developer.51cto.com/art/201003/187960.htmhtml
from: http://www.cnpythoner.com/post/69.htmlpython
Python讀寫文件在計算機語言中被普遍的應用,若是你想了解其應用的程序,如下的文章會給你詳細的介紹相關內容,會你在之後的學習的過程當中有所幫助,下面咱們就詳細介紹其應用程序。數組
1、打開文件app
Python讀寫文件在計算機語言中被普遍的應用,若是你想了解其應用的程序,如下的文章會給你詳細的介紹相關內容,會你在之後的學習的過程當中有所幫助,下面咱們就詳細介紹其應用程序。函數
代碼以下:post
f = open("d:\test.txt", "w") 學習
說明:url
第一個參數是文件名稱,包括路徑;第二個參數是打開的模式modespa
'r':只讀(缺省。若是文件不存在,則拋出錯誤)指針
'w':只寫(若是文件不存在,則自動建立文件)
'a':附加到文件末尾
'r+':讀寫
若是須要以二進制方式打開文件,須要在mode後面加上字符"b",好比"rb""wb"等
2、讀取內容
f.read(size)
參數size表示讀取的數量,能夠省略。若是省略size參數,則表示讀取文件全部內容。
f.readline()
讀取文件一行的內容
f.readlines()
讀取全部的行到數組裏面[line1,line2,...lineN]。在避免將全部文件內容加載到內存中,這種方法經常使用,便於提升效率。
3、寫入文件
f.write(string)
將一個字符串寫入文件,若是寫入結束,必須在字符串後面加上"\n",而後f.close()關閉文件
4、文件中的內容定位
f.read()
讀取以後,文件指針到達文件的末尾,若是再來一次f.read()將會發現讀取的是空內容,若是想再次讀取所有內容,必須將定位指針移動到文件開始:
f.seek(0)
這個函數的格式以下(單位是bytes):
f.seek(offset, from_what)
from_what表示開始讀取的位置,offset表示從from_what再移動必定量的距離,好比f.seek(10, 3)表示定位到第三個字符並再後移10個字符。from_what值爲0時表示文件的開始,它也能夠省略,缺省是0即文件開頭。下面給出一
f = open('/tmp/workfile', 'r+')
f.write('0123456789abcdef')
f.seek(5) # Go to the 6th byte in the file
f.read(1)
'5'
f.seek (-3, 2) # Go to the 3rd byte before the end
f.read(1)
'd'
5、關閉文件釋放資源
文件操做完畢,必定要記得關閉文件f.close(),能夠釋放資源供其餘程序使用
_________________________________________________________________________
python文件操做很是的方便,它有不少的方法來使的文件操做很是的簡單,下面簡單的說下python怎麼操做文件的。
打開文件:
能夠用open方法和file方法。
後面有個參數來區別操做文件的方式,好比a,r,w
讀文件:
read方法和readlines方法,
read()方法把整個文件的內容放到字符串裏
readlines()方法則把文件的內容按照行爲單位放到列表裏。
通常要替換文件裏的某個字符的話,最好有readline,而後用循環把一行一行內容循環出來,再查找替換
這樣效率比整個讀到一個字符串裏來查找匹配效果更高。
下面舉個例子:
好比你要把文件裏的aa字符串,替換成bb字符串的話,
import re
check = re.compile(r'aa')
f = file('1.txt','r')
content = f.read()
c = re.sub(check,'bb',content)
c就是替換好的數據,不過這樣效率比較低。
另一個效率比較高的方法
import re
check = re.compile(r'aa')
info = []
for i in file:
c = re.sub(check,'bb',i)
info.append(c)
c = ''.join(info)
寫文件:
write方法和writeline()方法
關閉文件:
close()方法,最好咱們要養成一個好習慣,在操做完一個文件之後,記得要調用這個方法來關閉文件。
文件的其它操做方法我就不介紹了,能夠支持查手冊或者用help(文件對象)來查看學習。
上面的替換字符串的例子也能夠用python列表解析的方法來讀取文件,你能夠本身練習下,最近寫了一篇[python 下載文件] 的文章,呵呵!