Python open檔案操作

2021-08-20 02:41:34 字數 1828 閱讀 4366

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...