python,《一》讀取檔案open

2022-02-10 07:44:14 字數 3809 閱讀 8751

在實際操作中,我們經常會讀取檔案,這個時候python為我們提供了乙個open()的方法,供我們讀取檔案,通過help(open),我們可以獲取open的方法

f.close()關閉讀取

f.read(size=-1)讀取檔案size個字元,但未給size賦值或者賦值為負數時,讀取的是檔案剩餘的所有字元,然後以字串方式進行返回。

f.readline()以寫入模式開啟,如果檔案存在,則在末尾加入

f.write(str)將字串str寫入檔案

f.writelines(seq)想檔案寫入字串序列seq,seq應該 是乙個返回字串的可迭代物件

f.seek(offset,from)在檔案中移動當前讀取檔案的指標,

f.tell()返回當前檔案讀取的指標位置

#

file 是檔案路徑,mode 是檔案開啟模式,常用的應該還有乙個encoding 編碼格式。

open(file, mode='

r', buffering=-1, encoding=none, errors=none, newline=none, closefd=true, opener=none)

#這個是檔案開啟模式

''''r' open for reading (default) 預設唯讀

'w' open for writing, truncating the file first 以寫的方式開啟檔案,會覆蓋原始檔

'x' create a new file and open it for writing,建立乙個新的檔案開啟並進行寫入操作,如果這個檔案已經存在,則會報錯

'b' binary mode 以二進位制方式開啟檔案

't' text mode (default) 以文字模式開啟

'+' open a disk file for updating (reading and writing) 可讀寫模式,可新增到其他模式中用

'u' universal newline mode (deprecated) 通用換行符

'''

假設我們有一檔案,存放在e:\\python\\day-2\\文字.txt目錄下,txt內容為「

那麼我們通過利用open進行對它的操作。

#

開啟檔案

>>> f = open('

e:\\python\\day-2\\文字.txt

','r')

#讀取檔案

>>>f.read()

''#再次讀取檔案

>>>f.read()

#返回了空

''

當我們用f.read()第二次讀取的時候,因為游標已經走到了文章的結尾,所以第二次讀取為空。那麼我們想再一次讀取該檔案的時候

#

移動讀取指標位置為起始位置

>>>f.seek(0,0)

0#讀取檔案一行

>>>f.readline()

''#當前位置的游標

>>>f.tell()

119

遍歷所有對話內容(每一行)  

傳統的方法,傳統的方法雖然可以列印每一句話,但是效率不是很高。先看一下傳統方法列印:

#

首相將游標歸到初始值

>>>f.seek(0,0)

0#利用list 來分割f

>>> list1 =list(f)

#迴圈打出每一句

>>> for each in

list1:

print(each)

那麼為了解決這個問題 python為我們提供了直接列印的方式

>>>f.seek(0,0)

0>>> for each_line in

f:

print(each_line)

接上邊的例子,當我們想用write()來對剛才的檔案進行寫操作的時候,會發現不能寫入,直接報錯。因為我們操作這個檔案的模式是r模式,也就是唯讀模式:

>>> f.write("

我愛你"

)

traceback (most recent call last):

file

"", line 1, in

f.write(

"我愛你")

io.unsupportedoperation:

notwritable

>>>

如果我們想對乙個檔案進行操作,那麼我該如何操作,首先我們嘗試一下open(file,'w')

#

這裡利用w是乙個只寫操作

>>> f = open('

e:\\python\\day-2\\text.txt

','w')

#我們寫入乙個i love python

>>> f.write("

i love python")

13#嘗試用read()來讀取

>>>f.read()

#報錯了,說我們不能讀

traceback (most recent call last):

file

"", line 1, in

f.read()

io.unsupportedoperation:

notreadable

#這個時候如果沒有進行下一步操作,你在e盤下看到的那個檔案應該是0kb

#如果執行了close()操作,就會變成1kb,因為你要告訴python說 你已經

#操作完畢了,可以把這些東西從記憶體中儲存到硬碟了。

>>>f.close()

當我們用『x』來進行寫檔案的時候,一定要注意目錄下是否已經存在該檔案,如果存在則會報錯:

>>> e = open('

e:\\python\\day-2\\text.txt

','x')

traceback (most recent call last):

file

"", line 1, in

e = open('

e:\\python\\day-2\\text.txt

','x')

fileexistserror: [errno 17] file exists: '

e:\\python\\day-2\\text.txt

'

但是如果我們不想讓報錯,那麼我們可以用w,這樣不管這個檔案存在不存在都不會報錯,因為如果存在,它就會開啟這個檔案,如果不存在則會建立這個名字的檔案。

#

w建立d = open('

e:\\python\\day-2\\text.txt

','w

')

>>> f = open('

e:\\python\\day-2\\文字.txt

','a')

>>> f.write("

are you sure?")

14>>>f.close()

>>> f = open('

e:\\python\\day-2\\文字.txt

','r')

>>>f.read()

'i love python are you sure?

'>>> f.close()

十六周任務(一)讀取檔案

程式頭部注釋開始 程式的版權和版本宣告部分 檔名稱 作 者 齊豔紅 版 本 號 對任務及求解方法的描述部分 輸入描述 從檔案salary.txt中讀入500名工人的工資,全部增加100元後進行排序,將排序後的結果在螢幕上輸出,並儲存到檔案ordered salary.txt中 問題描述 程式輸出 程...

(一)讀取,載入,顯示,改變,儲存

using namespace cv 下面的函式可能出現在 cv庫里。這樣寫的好處,就是當用到opencv函式時不用在前面加 cv 字樣了。mat 用來定義變數,這個變數大小不一定,它根據的大小改變的。載入影象 imread函式第乙個引數顯示 名稱 格式 例如 123.jpg 第二個引數 表示載入 ...

OPEN檔案操作 Python

open檔案操作 python f open file name 讀寫模式 讀寫模式型別 f.read size 返回一行 file.readline 返回包含size行的列表,size 未指定則返回全部行 file.readline size 通過迭代器訪問 for line in f print...