python 檔案操作

2021-06-26 23:51:19 字數 2215 閱讀 5815

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後面加上...