open(name[, mode[, buffering]])
mode : mode 決定了開啟檔案的模式:唯讀,寫入,追加等。所有可取值見如下的完全列表。這個引數是非強制的,預設檔案訪問模式為唯讀(r)。
buffering : 如果 buffering 的值被設為 0,就不會有寄存。如果 buffering 的值取 1,訪問檔案時會寄存行。如果將 buffering 的值設為大於 1 的整數,表明了這就是的寄存區的緩衝大小。如果取負值,寄存區的緩衝大小則為系統預設。
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')
defreplace_words
(file,oldword,newword):
content = ''
f = open(file,'r')
f.seek(0,0)
for lines in f.readlines():
if oldword in lines:
lines_new=lines.replace(oldword,newword)
content+=lines_new
f = open(file,'w')
f.write(content)
f.close()
Python open檔案操作
python open 函式 python open 函式用於開啟乙個檔案,建立乙個 file 物件,相關的方法才可以呼叫它進行讀寫。函式語法 open name mode buffering 引數說明 name 乙個包含了你要訪問的檔名稱的字串值。mode mode 決定了開啟檔案的模式 唯讀,寫...
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...