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