Python 操作檔案

2021-09-09 02:28:33 字數 2704 閱讀 9123

字元

含義

'r'以唯讀方式開啟(預設)

'w'以只寫方式開啟,刪除原有檔案內容(如果檔案不存在,則建立該檔案並以只寫方式開啟)

'x'建立乙個新檔案, 並以寫模式開啟這個檔案,如果檔案存在則會產生"fileexistserror"錯誤

'a'以只寫檔案開啟乙個檔案,如果有原檔案則追加到檔案末尾

'b'用二進位制模式開啟

't'文字檔案模式開啟 (預設)

'+'為更新內容開啟乙個磁碟檔案 (可讀可寫)

預設模式是 'rt'

'w+b' 可以實現二進位制隨機讀寫,當開啟檔案時,檔案內容將被清零

'r+b' 以二進位制讀和更新模式開啟檔案,開啟檔案時不會清空檔案內容

'r+' 以文字模式讀和更新模式開啟檔案,開啟檔案時不會清空檔案內容

方法

說明f.read(size = -1)

從乙個檔案流中最多讀取size個字元

f.readline()

讀取一行資料, 如果到達檔案尾則返回空行

f.readlines(max_chars=-1)

返回每行字串的列表,max_chars為最大字元(或位元組)數

f.write(text)

寫乙個字串到檔案流中,返回寫入的字元數

f.writelines(lines)

每行字串的列表

f.flush()

把寫入檔案物件的快取內容寫入到磁碟

f.close()

關閉檔案(關閉後檔案不能再讀寫會發生valueerror錯誤)

f.tell()

返回當前檔案流的絕對位置

f.seek(offset, whence=0)

改變資料流的位置,返回新的絕對位置

f.readable()

判斷這個檔案是否可讀,可讀返回true,否則返回false

f.writable()

判斷這個檔案是否可寫,可寫返回true,否則返回false

f.seekable()

返回這個檔案物件是否支援隨機定位

f.truncate(pos = none)

剪掉 自pos位置之後的資料,返回新的檔案長度(位元組為單位)

# file = open("mynote.txt","rt")

with open("test.txt", 'rb') as file:

# file.write(meta['body'])

s = file.read()

print s

print s

# -*- coding:utf-8 -*-

with open("test.txt", "rb") as fr:

position = fr.tell()

print "當前檔案位置是:", position # 結果:當前檔案位置是: 0

str = fr.read(10)

print "讀取的字串是:", str # 結果:l love qia

position = fr.tell()

print "當前檔案位置是:", position # 結果:當前檔案位置是: 10

# 把指標再次重新定位到檔案開頭。下面寫法等同於:fr.seek(0, 0)

fr.seek(0)

position = fr.tell()

print "當前檔案位置是:", position # 結果:當前檔案位置是: 0

# 2.seek(offset,whence=0)

# offset偏移量:大於0的數代表向檔案末尾方向移動offset位。小於0的數代表向檔案頭方向移動offset位。

# whence相對位置:

# 等於0:表示檔案開頭,代表從檔案頭部開始偏移。即將檔案指標指向從檔案的頭部到 "偏移量"位元組處。預設值為0。

# 等於1:表示當前位置,代表從當前位置開始偏移。即將檔案指標指向從檔案的當前位置,向後移動 "偏移量"位元組。

# 等於2:表示檔案結尾,代表從檔案尾部開始偏移。即將檔案指標指向從檔案的尾部,向前移動 "偏移量"位元組。

# 3.示例:f.seek(10,0)、f.seek(-10,2)、f.seek(5,1)

# 4.附加:f.tell()與f.seek()一般操作二進位制檔案

# 5.test.txt檔案內容:l love qianqian more than yesterday

with open('aaa.txt', "r+") as fr:

read_data = fr.read()

# 把檔案定位到頭部,沒有這句的話,檔案是定位到資料最後,truncate也是從這裡刪除,不起作用。

fr.seek(0)

fr.truncate() # 清空檔案內容

fr.write(read_data.replace('qianqian', 'baobei'))

# 修改前test.txt檔案內容:l love qianqian more than yesterday

# 修改後test.txt檔案內容:l love baobei more than yesterday

Python 操作檔案

今天,我們來學習python開啟,修改檔案的方法。先在專案資料夾下新建兩個檔案 text1.txt和text2.txt,在text2中寫入 i like python.換行 it is fun.換行 下面我們用這兩個檔案探索操作檔案的方法。如何在python中開啟乙個檔案物件呢?with open ...

Python操作檔案

python 的 open 方法用於開啟乙個檔案,該方法返回乙個檔案物件,在對檔案進行處理過程都需要使用到這個函式,如果該檔案無法被開啟,會丟擲 oserror。注意 使用 open 方法後一定要保證關閉檔案物件,即呼叫 close 方法。open 函式常用形式是接收兩個引數 檔案路徑 file 和...

python操作檔案

讀寫檔案前,我們先必須了解一下,在磁碟上讀寫檔案的功能都是由作業系統提供的,現代作業系統不允許普通的程式直接操作磁碟,所以,讀寫檔案就是請求作業系統開啟乙個檔案物件 通常稱為檔案描述符 然後,通過作業系統提供的介面從這個檔案物件中讀取資料 讀檔案 或者把資料寫入這個檔案物件 寫檔案 引數1 檔名,可...