1. 開啟檔案
open(name[,model[,buffering]])
open函式使用檔名作為唯一的強制引數,然後返回乙個檔案物件。模式(model)和綬衝(buffering)引數都可以可選的
例:f=open('somefile.txt')
如果檔案不存在丟擲io錯誤
模式:r 讀模式 w 寫模式 a 追加模式 b二進位制模式 + 讀/寫模式
綬衝:0/false 無綬衝 1/true 表示有綬區 大於1表示綬沖區的大小(單位為位元組)
2. 檔案基本操作
2.1)讀和寫
>>> f = open('somefile.txt', 'w')
>>> f.write('hello')#會將hello被追加檔案已存在部分的後面
>>> f.write('world')
>>> f.close()
>>> f = open('somefile.txt', 'w')
>>> f.read(4)
'hell'
>>> f.read()
'o. world'
2.2) 管式輸出
在unix 中使用管道可以在乙個命令後面續寫其他的多個命令
$ cat somefile.txt | python somefile.py | sort
這個管道由以下3個命令組成
a. cat somefile.txt: 只是把somefile.txt 的內容寫到標準輸出
b. python somefile.py: 執行python 指令碼,指令碼應該從標準輸入讀,把結果寫到標準輸出
c. sort:這條命令從標準輸入讀取所有的檔案,按字母排序然後把標準寫入到標準輸出
2.3) 讀寫行
file.readline() #讀取一行
file.readlines() #讀取所有行並將其做為列表返回
file.writelines() # 傳給他乙個字串列表,會把所有的字串寫入檔案(或流)程式不會增加新行,需要自已新增
file.write() #沒有writeline方法,因為有write
2.4) 關閉檔案
為了安全其見,使用完檔案後要關閉檔案,如果想確保檔案被關閉了,那麼使用try/finally語句
>>> try:
#write data
finally:
file.close()
3. 對檔案內容進行迭代
3.1)按位元組處理
常見的迭代方法是在while迴圈中使用read方法,如用read方法對每個字元進行迴圈
>>>f = open(filename)
>>>char = f.read(1)
>>>while char:
>>> if not char: break
>>> process(char)
>>>f.close()
3.2) 按行處理
當處理檔案時,經常對檔案的行進行迭代而不是處理單個字元,使用行方法和單個字元類似,使用readline方法
>>>f = open(filename)
>>>while true:
>>> line = f.readline()
>>> if not char: break
>>> process(char)
>>>f.close()
3.3) 按所有內容
>>> f = open(filename)
>>> for line in f.readlines(); #針對檔案不是很大的操作,如果是大檔案將耗掉大量效能
>>> process(line)
>>> f.close()
3.4 使用fileinput實現懶惰行迭代
對乙個非常大的檔案進行迭代操作時,readlines會占用太多的記憶體,這個時候可以使用while 迴圈和readline方法來替代,
在python中如果能使用for迴圈那麼肯定是首選,本例恰好是可以使用for迴圈可以使用乙個名為懶惰行迭代的方法:因為它
只是讀取實際需要的檔案部分
>>>import fileinput
>>>for line in fileinput.input(filename):
>>> process(line)
將追加例項
python 檔案操作
簡明 python 教程 中的例子,python 執行出錯,用open代替file 可以執行。poem programming is fun when the work is done if you wanna make your work also fun use python f open e ...
python檔案操作
1,將乙個路徑名分解為目錄名和檔名兩部分 a,b os.path.split c 123 456 test.txt print a print b 顯示 c 123 456 test.txt 2,分解檔名的副檔名 a,b os.path.splitext c 123 456 test.txt pri...
Python 檔案操作
1.開啟檔案 如下 f open d test.txt w 說明 第乙個引數是檔名稱,包括路徑 第二個引數是開啟的模式mode r 唯讀 預設。如果檔案不存在,則丟擲錯誤 w 只寫 如果檔案 不存在,則自動建立檔案 a 附加到檔案末尾 r 讀寫 如果需要以二進位制方式開啟檔案,需要在mode後面加上...