open函數(shù)返回一個(gè)文件對(duì)象,基本語(yǔ)法:
●file_object = open(file_name, access_mode='r'[,buffering=-1])
file_name 是包含要打開(kāi)的文件名字的字符串, 它可以是相對(duì)路徑或者絕對(duì)路徑.
●可選變量access_mode 也是一個(gè)字符串, 代表文件打開(kāi)的模式. 通常, 文件使用模式 ‘r', ‘w', 或是 ‘a(chǎn)'模式來(lái)打開(kāi), 分別代表讀取, 寫入和追加.
●另外一個(gè)可選參數(shù) buffering 用于指示訪問(wèn)文件所采用的緩沖方式. 其中 0 表示不緩沖, 1表示只緩沖一行數(shù)據(jù), 任何其它大于 1 的值代表使用給定值作為緩沖區(qū)大小. 不提供該參數(shù)或者給定負(fù)值代表使用系統(tǒng)默認(rèn)緩沖機(jī)制
文件內(nèi)建方法
讀出
read(size) 方法用來(lái)直接讀取字節(jié)到字符串中, 最多讀取給定數(shù)目個(gè)字節(jié).如果size沒(méi)有給定,文件將被全部讀出.
readline() 方法讀取打開(kāi)文件的一行,和 read() 相同, 它也有一個(gè)可選的 size 參數(shù), 默認(rèn)為 -1, 代表讀至行結(jié)束符. 如果提供了該參數(shù), 那么在超過(guò) size 個(gè)字節(jié)后會(huì)返回不完整的行.
readlines() 它會(huì)讀取所有(剩余的)行然后把它們作為一個(gè)字符串列表返回.
寫入
write()寫入字符.
writelines()寫入行.這里注意需要顯示寫入換行符.
文件內(nèi)移動(dòng)
seek(offset)移動(dòng)當(dāng)前讀寫位置到指定的offset位置.每次write和read操作后,當(dāng)前讀寫位置都會(huì)變動(dòng).
文件迭代
新方法(更高效)
代碼如下:
for eachLine in f
代碼如下:
for eachLine in f.readline():
close() 通過(guò)關(guān)閉文件來(lái)結(jié)束對(duì)它的訪問(wèn).寫入文件后不關(guān)閉文件可能會(huì)丟失緩沖區(qū)數(shù)據(jù).
緩沖區(qū)數(shù)據(jù)寫入文件
flush() 方法會(huì)直接把內(nèi)部緩沖區(qū)中的數(shù)據(jù)立刻寫入文件.
截取文件
truncate() 方法將文件截取到當(dāng)前文件指針位置或者到給定 size , 以字節(jié)為單位.
實(shí)例講解
代碼如下:
#!/usr/bin/python
#coding=utf-8
#以寫方式打開(kāi)一個(gè)名為welcome.txt文件
f = open("welcome.txt", 'w')
#將數(shù)據(jù)寫入文件
f.writelines("welcome to here
")
f.writelines("Thank you
")
f.writelines("exit
")
#刷新文件
f.flush()
#關(guān)閉文件
f.close()
#以讀方式打開(kāi)一個(gè)名為welcome.txt文件
f = open("welcome.txt", 'r')
print f.read(8)
#重置讀寫位置,回到文件最開(kāi)始位置
f.seek(0)
print f.readline()
代碼如下:
welcome
welcome to here
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com