打開文件:
形式如下
f=open('/tmp/hello','w')
open(路徑+文件名,讀寫模式),注意路徑中可能含有轉(zhuǎn)義字符比如"\t",要在路徑名前加r
讀寫模式:
r只讀,r+讀寫,w新建(會覆蓋原有文件),a追加,b二進制文件.常用模式如:'rb','wb','r+b'等等,讀寫模式的類型有:
- U 或 Ua 以讀方式打開, 同時提供通用換行符支持 (PEP 278)
- 以寫方式打開,
- 以追加模式打開 (從 EOF 開始, 必要時創(chuàng)建新文件)
- 讀寫模式打開
- 以讀寫模式打開 (參見 w )
- 以讀寫模式打開 (參見 a )
- 以二進制讀模式打開
- 以二進制寫模式打開 (參見 w )
- 以二進制追加模式打開 (參見 a )
- 以二進制讀寫模式打開 (參見 r+ )
- 以二進制讀寫模式打開 (參見 w+ )
- 以二進制讀寫模式打開 (參見 a+ )
注意:
1、使用'W',文件若存在,首先要清空,然后(重新)創(chuàng)建,
2、使用'a'模式 ,把所有要寫入文件的數(shù)據(jù)都追加到文件的末尾,即使你使用了seek()指向文件的其他地方,如果文件不存在,將自動被創(chuàng)建。
讀文件的一些方式:
f.read([size]) size未指定則返回整個文件,如果文件大小>2倍內(nèi)存則有問題.f.read()讀到文件尾時返回""(空字串),讀一次,指針停留在讀完之后的位置
file.readline() 返回一行w
file.readlines() 返回所有行(以字符串list的形式)
file.readline([size]) 返回包含size行的列表,size 未指定則返回全部行
for line in f: print line #通過迭代器訪問
f.write("hello\n") #如果要寫入字符串以外的數(shù)據(jù),先將他轉(zhuǎn)換為字符串.
f.tell() 返回一個整數(shù),表示當(dāng)前文件指針的位置(就是到文件頭的比特數(shù)).
f.seek(偏移量,[起始位置]) 單獨一行執(zhí)行,用來移動文件指針 eg:f.seek(15),f(offset,whence)
Whence=0:偏移量從文件頭開始計算
Whence=1:偏移量從當(dāng)前位置開始
Whence=2:偏移量從文件末尾開始
偏移量:單位:比特,可正可負f.writelines(lines):lines為一個list,將list中的所有元素寫進文件中