模式
描述r
以讀方式開啟檔案,可讀取檔案資訊。 w
以寫方式開啟檔案,可向檔案寫入資訊。如檔案存在,則清空該檔案,再寫入新內容 a
以追加模式開啟檔案(即一開啟檔案,檔案指標自動移到檔案末尾),如果檔案不存在則建立r+
以讀寫方式開啟檔案,可對檔案進行讀和寫操作。 w+
消除檔案內容,然後以讀寫方式開啟檔案。 a+
以讀寫方式開啟檔案,並把檔案指標移到檔案尾。 b
以二進位制模式開啟檔案,而不是以文字模式。該模式只對windows或dos有效,類unix的檔案是用二進位制模式進行操作的。
檔案物件方法方法
描述
f.close()
關閉檔案,記住用open()開啟檔案後一定要記得關閉它,否則會占用系統的可開啟檔案控制代碼數。
f.fileno()
獲得檔案描述符,是乙個數字
f.flush()
重新整理輸出快取
f.isatty()
如果檔案是乙個互動終端,則返回true,否則返回false。
f.read([count])
讀出檔案,如果有count,則讀出count個位元組。
f.readline()
讀出一行資訊。
f.readlines()
讀出所有行,也就是讀出整個檔案的資訊。
f.seek(offset[,where])
把檔案指標移動到相對於where的offset位置。where為0表示檔案開始處,這是預設值;1表示當前位置;2表示檔案結尾。
f.tell()
獲得檔案指標位置。
f.truncate([size])
擷取檔案,使檔案的大小為size。
f.write(string)
把string字串寫入檔案。
f.writelines(list)
把list中的字串一行一行地寫入檔案,是連續寫入檔案,沒有換行。
fp.read([size])#size為讀取的長度,以byte為單位
fp.readline([size])#讀一行,如果定義了size,有可能返回的只是一行的一部分
fp.readlines([size])#把檔案每一行作為乙個list的乙個成員,並返回這個list。其實它的內部是通過迴圈呼叫readline()來實現的。如果提供size引數,size是表示讀取內容的總長,也就是說可能唯讀到檔案的一部分。
fp.write(str)#把str寫到檔案中,write()並不會在str後加上乙個換行符
fp.writelines(seq)#把seq的內容全部寫到檔案中(多行一次性寫入)。這個函式也只是忠實地寫入,不會在每行後面加上任何東西。
fp.close()#關閉檔案。python會在乙個檔案不用後自動關閉檔案,不過這一功能沒***,最好還是養成自己關閉的習慣。 如果乙個檔案在關閉後還對其進行操作會產生valueerror
fp.flush()#把緩衝區的內容寫入硬碟
fp.fileno()#返回乙個長整型的」檔案標籤「
fp.isatty()#檔案是否是乙個終端裝置檔案(unix系統中的)
fp.tell()#返回檔案操作標記的當前位置,以檔案的開頭為原點
fp.next()#返回下一行,並將檔案操作標記位移到下一行。把乙個file用於for … in file這樣的語句時,就是呼叫next()函式來實現遍歷的。
fp.seek(offset[,whence])#將檔案打操作標記移到offset的位置。這個offset一般是相對於檔案的開頭來計算的,一般為正數。但如果提供了whence引數就不一定了,whence可以為0表示從頭開始計算,1表示以當前位置為原點計算。2表示以檔案末尾為原點進行計算。需要注意,如果檔案以a或a+的模式開啟,每次進行寫操作時,檔案操作標記會自動返回到檔案末尾。
fp.truncate([size])#把檔案裁成規定的大小,預設的是裁到當前檔案操作標記的位置。如果size比檔案的大小還要大,依據系統的不同可能是不改變檔案,也可能是用0把檔案補到相應的大小,也可能是以一些隨機的內容加上去。
# -*- coding: cp936 -*-
poem = '''\
programming is fun
when the work is done
if you wanna make your work also fun:
use python!
'''#寫檔案
f=open('hello.txt','w')
print f.write(poem)
f.close
#讀檔案
f=open('hello.txt','r')
rf=f.readlines()
for elem in rf:
print elem
f.close
#追加f=open('hello.txt','a+')
f.write('thank you')
f.close
#按行讀檔案
f = open('hello.txt','r')
line=f.readline()
while line:
print line
line=f.readline()#如果沒有這行會造成死迴圈
#f.close
#f = open('hello.txt','r')
print 'read() function:' #讀取整個檔案
print f.read()
#f.close()
print 'readline() function:' #返回檔案頭,讀取一行
f.seek(0)
print f.readline()
print f.tell() #顯示當前位置
f.seek(20) #第二行開始
print f.readline()
f.close()
練習題
把字典dic=寫入 ini 檔案 儲存為 key1=value1 .... 然後再讀回 ini 的配置儲存到字典。
作業系統學習筆記(四) 檔案系統
磁碟的0號扇區稱為主引導記錄mbr,用來引導計算機。在mbr的結尾是分割槽表,該錶給出了每個分割槽的起始和結束位址。表中的乙個分割槽被標記為活動分割槽。乙個可能的檔案系統布局。檔案儲存實現的關鍵問題是記錄各個檔案分別用到哪些磁碟塊 連續分配 優點 鍊錶分配 為每個檔案構造磁碟塊鍊錶,每個塊的第乙個字...
linux系統學習 (四)檔案管理
pwd 顯示當前工作目錄 cd 改變當前工作目錄 切換工作目錄 ls 列出當前目錄下的檔案和子目錄 a 列出所有檔案 隱藏檔案 子目錄 r 列出從當前目錄開始的所有的子目錄 檔案 並且將子目錄中的檔案一層層顯示出來 f列出檔案 目錄名 並且顯示所有檔案型別 t 顯示修改時間 l 顯示檔案 目錄的所有...
LINUX系統學習筆記03 檔案與目錄管理
三 檔案與目錄管理 3.1 常見的目錄處理命令 1 cd change directory切換目錄 2 pwd pring working directory顯示當前目錄 3 mkdir make directory建立乙個新的目錄 語法 mkdir 選項 目錄名稱 示例 mkdir usr loc...