先上一段代碼
>>> f = open('1.txt','r'); >>> f.readline() #讀取數據
>>> f.close() #關閉
輸出結果
1234
python 的讀寫模式有很多種
1.r 以只讀的方式打開
開始的事例是用 r 也就是只讀的方式打開
2.w 以只寫的方式打開
>>> f = open('1.txt','w') >>> str = 'abcd' >>> f.write(str) >>> f.close() >>> f = open('1.txt','r') >>> f.readline() 'abcd' //輸出的結果 >>> f.close()
開始1.txt里面的內容為1234 現在用w模式打開寫入abcd , 再讀取結果為abcd,可見這是一種替換的方式寫入的
3.a 以追加模式打開 (從 EOF 開始, 必要時創建新文件)
>>> f = open('1.txt','a') >>> str = '1234' >>> f.write(str) >>> f.close() >>> f = open('1.txt','r') >>> f.readline() 'abcd1234' #輸出結果 >>> f.close()
可見是直接追加到后面了
其他還有
r+ 以讀寫模式打開
w+ 以讀寫模式打開
a+ 以讀寫模式打開
rb 以二進制讀模式打開
wb 以二進制寫模式打開
ab 以二進制追加模式打開
rb+ 以二進制讀寫模式打開
wb+ 以二進制讀寫模式打開
ab+ 以二進制讀寫模式打開
就不一一列出來了!
注意帶+的在用OPEN函數的時候一定要用雙引號括起來
例如
f = open('1.txt',"r+")
不然會報錯的!
其他函數用法
f.read([size]) size未指定則返回整個文件,如果文件大小>2倍內存則有問題.f.read()讀到文件尾時返回""(空字串)
file.readline() 返回一行
file.readline([size]) 返回包含size行的列表,size 未指定則返回全部行
for line in f: print line #通過迭代器訪問
f.write("hello\n") #如果要寫入字符串以外的數據,先將他轉換為字符串.
f.tell() 返回一個整數,表示當前文件指針的位置(就是到文件頭的比特數).
f.seek(偏移量,[起始位置])
用來移動文件指針
偏移量:單位:比特,可正可負
起始位置:0-文件頭,默認值;1-當前位置;2-文件尾
f.close() 關閉文件