python open() 函式
python open() 函式用於開啟乙個檔案,建立乙個 file 物件,相關的方法才可以呼叫它進行讀寫。
函式語法
open
(name[, mode[, buffering]])
引數說明:
name : 乙個包含了你要訪問的檔名稱的字串值。
mode : mode 決定了開啟檔案的模式:唯讀,寫入,追加等。所有可取值見如下的完全列表。這個引數是非強制的,預設檔案訪問模式為唯讀(r)。
buffering : 如果 buffering 的值被設為 0,就不會有寄存。如果 buffering 的值取 1,訪問檔案時會寄存行。如果將 buffering 的值設為大於 1 的整數,表明了這就是的寄存區的緩衝大小。如果取負值,寄存區的緩衝大小則為系統預設。
開啟檔案的不同模式:
file 物件方法
file.read([size]) size未指定則返回整個檔案,如果檔案大小》2倍記憶體則有問題.f.read()讀到檔案尾時返回」「(空字串)
file.readline() 返回一行
file.readlines([size]) 返回包含size行的列表,size 未指定則返回全部行
for line in f: print line #通過迭代器訪問
f.write(「hello\n」) 如果要寫入字串以外的資料,先將他轉換為字串,該函式的引數為字串。
f.writelines(sequence)#該函式的引數是序列,比如列表,它會迭代幫你寫入檔案。
f.tell() 返回乙個整數,表示當前檔案指標的位置(就是到檔案頭的位元數).
f.seek(偏移量,[起始位置]) 用來移動檔案指標.【偏移量:單位:位元,可正可負
起始位置:0-檔案頭,預設值;1-當前位置;2-檔案尾】
f.close() 關閉檔案示例
比較兩個文字中欄位不同的行
# 比較兩個檔案,如果不同,顯示不同內容的行號,並將顯示結果存在另乙個檔案裡
defcompare
(file1,file2):
same = true
count = 1
rows = 0
f1 = open(file1)
f2 = open(file2)
result = open('/users/cailei/cai_lei/result.txt', 'w')
for line1 in f1.readlines():
line2 = f2.readline()
if line1 != line2:
rows+=1
same = false
result.writelines('第%d行不同\n'%count)
count+=1
result.close()
f1.close()
f2.close()
if same==false:
print('兩個文件有%d不同之處,具體請看result.txt'%rows)
else:
print('兩個文件完全相同')
compare('/users/compare1.txt','/users/compare2.txt')
這裡寫**片
「`**:
待**
Python open檔案操作
open name mode buffering mode mode 決定了開啟檔案的模式 唯讀,寫入,追加等。所有可取值見如下的完全列表。這個引數是非強制的,預設檔案訪問模式為唯讀 r buffering 如果 buffering 的值被設為 0,就不會有寄存。如果 buffering 的值取 1...
python open 檔案操作
open 檔案操作 f open tmp hello w open 路徑 檔名,讀寫模式 讀寫模式 r唯讀,r 讀寫,w新建 會覆蓋原有檔案 a追加,b二進位制檔案.常用模式 如 rb wb r b 等等 讀寫模式的型別有 ru 或 ua 以讀方式開啟,同時提供通用換行符支援 pep 278 w 以...
python open 檔案讀寫
一 python檔案讀寫的幾種模式 r,rb,w,wb 那麼在讀寫檔案時,有無b標識的的主要區別在 呢?1 檔案使用方式標識 r 預設值,表示從檔案讀取資料。w 表示要向檔案寫入資料,並截斷以前的內容 a 表示要向檔案寫入資料,新增到當前內容尾部 r 表示對檔案進行可讀寫操作 刪除以前的所有資料 r...