打開文件
open函數返回一個文件對象,基本語法:
●file_object = open(file_name, access_mode='r'[,buffering=-1])
file_name 是包含要打開的文件名字的字符串, 它可以是相對路徑或者絕對路徑.
●可選變量access_mode 也是一個字符串, 代表文件打開的模式. 通常, 文件使用模式 ‘r', ‘w', 或是 ‘a'模式來打開, 分別代表讀取, 寫入和追加.
●另外一個可選參數 buffering 用于指示訪問文件所采用的緩沖方式. 其中 0 表示不緩沖, 1表示只緩沖一行數據, 任何其它大于 1 的值代表使用給定值作為緩沖區大小. 不提供該參數或者給定負值代表使用系統默認緩沖機制
文件內建方法
讀出
read(size) 方法用來直接讀取字節到字符串中, 最多讀取給定數目個字節.如果size沒有給定,文件將被全部讀出.
readline() 方法讀取打開文件的一行,和 read() 相同, 它也有一個可選的 size 參數, 默認為 -1, 代表讀至行結束符. 如果提供了該參數, 那么在超過 size 個字節后會返回不完整的行.
readlines() 它會讀取所有(剩余的)行然后把它們作為一個字符串列表返回.
寫入
write()寫入字符.
writelines()寫入行.這里注意需要顯示寫入換行符.
文件內移動
seek(offset)移動當前讀寫位置到指定的offset位置.每次write和read操作后,當前讀寫位置都會變動.
文件迭代
新方法(更高效)
代碼如下:
for eachLine in f
老的方法:
代碼如下:
for eachLine in f.readline():
關閉文件
close() 通過關閉文件來結束對它的訪問.寫入文件后不關閉文件可能會丟失緩沖區數據.
緩沖區數據寫入文件
flush() 方法會直接把內部緩沖區中的數據立刻寫入文件.
截取文件
truncate() 方法將文件截取到當前文件指針位置或者到給定 size , 以字節為單位.
實例講解
代碼如下:
#!/usr/bin/python
#coding=utf-8
#以寫方式打開一個名為welcome.txt文件
f = open("welcome.txt", 'w')
#將數據寫入文件
f.writelines("welcome to here/n")
f.writelines("Thank you/n")
f.writelines("exit/n")
#刷新文件
f.flush()
#關閉文件
f.close()
#以讀方式打開一個名為welcome.txt文件
f = open("welcome.txt", 'r')
print f.read(8)
#重置讀寫位置,回到文件最開始位置
f.seek(0)
print f.readline()
輸出
代碼如下:
welcome
welcome to here
新聞熱點
疑難解答