Python檔案讀寫

2021-09-25 23:35:59 字數 2993 閱讀 1815

不多贅述,檔案部分比較簡單,看**就懂,直接上**:

file = open('text.txt')

print(file.read())

file.close()

print(file.mode)

print(file.encoding)

print(file.closed)

##今天又是學習python的一天啊!

rcp936

true

用途:開啟或建立乙個檔案;

完整語法格式:

file = open(file_name,mode='r',buffering=-1,encoding=none,errors=none,newline=none,closefd=true,opener=none)
一般常用的只有前兩個而已;

除了第乙個引數必需,後面均可選,未指定mode,則預設mode為 「r」,即唯讀

buffering引數用於設定緩衝區,緩衝區能夠大大提高程式執行i/o的效能。

buffering為0或者false時不設定緩衝區;

為1或者true時設定緩衝區,緩衝區大小為預設值;

為大於1的數時設定緩衝區,緩衝區大小為被該數指定,單位為位元組;

為負數時設定緩衝區,緩衝區大小為預設值;

其它方法用到再說;

當我們不是很確定究竟什麼時候該關閉檔案時,利用with as語句可以幫助實現自動關閉檔案,你儘管使用,python會在恰當的時候把檔案關閉;

with open('text.txt') as file:

contents = file.read()

print(contents)

print(file.closed)

##今天又是學習python的一天啊!

true

當檔案過大或者其它情況下,我們可以逐行讀取檔案,具體有以下幾種方法:

for迴圈:

file = open('text.txt')

for line in file:

print(line)

file.close()

##今天又是

學習python的

一天啊!

可以看到逐行讀取每行之間會多出空白行,這是因為每行結尾的換行符也被print輸出了的緣故,可以借助rstrip方法消除空白行;

readline()方法:

readline()方法:

file = open('text.txt')

while true:

line = file.readline()

if not line : break

print(line.rstrip())

file.close()

## 今天又是

學習python的

一天啊!

readline()方法裡面也可以指定size引數,表示每行可以讀取多少字元;

readlines()方法:

file = open('text.txt')

while true:

line = file.readlines()

if not line : break

print(line)

file.close()

##['今天又是\n', '學習python的\n', '一天啊!']

readlines()方法返回乙個字串列表,根據指定引數的不同,返回的列表數目也不一樣,預設返回乙個列表;

write()函式:

用途:向檔案中寫入內容;

file = open('try.txt','w')

str = '今晚月色真美!'

file.write(str)

f.close()

上述**已經完成了向檔案try.txt中寫入資料的過程;如果想換行寫入可以手動加入\n字元,但write的引數只能是字串

需要注意的是我們寫入的內容最開始都是在緩衝區內的,只有當呼叫close()方法時,python才會把這些資料送進檔案內,因此如果沒有close(),那麼檔案仍然沒有我們寫入的內容;

如果寫入資料後不想立即關閉檔案可以使用flush()函式,它會把緩衝區內的資料送進檔案內;

file = open('try.txt','w')

str = '今晚月色真美!'

file.write(str)

f.flush()

對於以二進位制格式開啟的檔案,寫入時可以不設定緩衝區,寫入資料將直接送進檔案內,但以文字格式開啟的檔案則必須設定緩衝區;

writelines()函式:

writelines函式與write函式差不多,但是write的引數是乙個字串,writelines的引數可以是乙個字串列表,但是writelines函式寫入資料時,不會在每行結尾自動加換行符

file = open('try.txt','w')

str = ['——今晚月色真美!\n','——我知道。']

file.writelines(str)

file.close()

## try.txt:

——今晚月色真美!

——我知道。

菜鳥程式設計

廖雪峰的官方**

c語言中文網

以及《python程式設計-從入門到實踐》

Python檔案讀寫

今天在看python檔案讀寫操作,發現python file name mode buffering file 函式用於建立乙個file物件,它有乙個別名叫open 可能更形象一些,它們是內建函式。來看看它的引數。它引數都是以字串的形式傳遞的。name是檔案的名字。mode 是開啟的模式,可選的值為...

python檔案讀寫

檔案讀寫模式 模式 描述 r以讀方式開啟檔案,可讀取檔案資訊。w以寫方式開啟檔案,可向檔案寫入資訊。如檔案存在,則清空該檔案,再寫入新內容 a以追加模式開啟檔案 即一開啟檔案,檔案指標自動移到檔案末尾 如果檔案不存在則建立 r 以讀寫方式開啟檔案,可對檔案進行讀和寫操作。w 消除檔案內容,然後以讀寫...

python 讀寫檔案

python讀寫檔案在文字不大的情況可以用正常的 open 然後讀入 readline行讀入 或者整體讀入 read readlines 基本知識 file open path,r 說明 第乙個引數是檔名稱,包括路徑 第二個引數是開啟的模式mode r 唯讀 預設。如果檔案不存在,則丟擲錯誤 w 只...