python讀寫檔案常見操作方式

2021-10-07 05:44:28 字數 2365 閱讀 3833

在一定場景下我們需要把文字全部內容讀取出來,進行處理。python提供三種函式讀取檔案,分別是readreadline readlines

read():讀取檔案的全部內容,加上引數可以指定讀取的字元。

readline():讀取檔案的一行。

readlines():讀取檔案的所有行到記憶體中。

不同場景下我們可以選擇不同函式對檔案進行讀取。

1.1  方法一

file_name = input("請輸入你要開啟的檔案的完整路徑及名稱")

file = open(file_name, "r")

txt = file.read()

# 全文本的處理

file.close()

使用read函式將檔案中的內容全部讀取,放在字串變數txt中。這樣操作適合於文字較小,處理簡單的情況,當檔案較大時,這種方式處理時不合適的。一次性讀取較大的檔案到記憶體中,會耗費較多的時間和資源。這時候分批處理效果更好。

1.2  方法二

file_name = input("請輸入你要開啟的檔案的完整路徑及名稱")

file = open(file_name, "r")

txt = file.read(4)

# 文字的處理

while txt != ""

txt = file.read(4)

# 批量文字處理

file.close()

這種方法適合於分批處理文字資訊,每次批量讀入,批量處理,不會對記憶體造成較大的壓力。

1.3  方法三

file_name = input("請輸入你要開啟的檔案的完整路徑及名稱")

file = open(file_name, "r")

for line in file.readlines():

# 處理每一行資料

file.close()

這種處理方式適合處理以行為分割特點的文字,並且文字較小,因為這種處理方式需要一次性把檔案所有內容讀取到記憶體中。

1.4  方法四

file_name = input("請輸入你要開啟的檔案的完整路徑及名稱")

file = open(file_name, "r") # 這裡的file時檔案控制代碼

for line in file:

# 處理每一行資料

file.close()

這種方式和方法三中的區別是分行讀入,逐行處理,不會一次性把檔案所有內容都讀入到記憶體中,對一些大檔案的處理是很有效的。

檔案寫入有兩種寫入函式和一種輔助支援。

write():向檔案中寫入乙個字元或者位元組流 

writelines():將乙個元素全為字串的列表寫入到檔案中 需要注意的是,writelines寫入列表元素的時候會把列表元素的內容拼接到一起寫入,不會有換行和空格 。

seek(): 輔助寫入函式offset偏移量引數代表含義如下

0 - 檔案開頭

1 - 當前位置

2 - 檔案結尾

2.1  方法一

file_name = input("output.txt", "w+")

text = "hello world!"

file_name.write(text)

file.close()

2.2  方法二

file_name = input("output.txt", "w+")

list = ["中午","早上","晚上"]

file_name.writelines(list)

for line in file:

# 讀取寫入的資料,這時候發現是沒有任何內容的

file.close()

我們增加一行**就可以讀取到寫入的檔案內容,利用seek()函式調整寫操作指標的位置,可以實現寫操作之後的正常讀取。

file_name = input("output.txt", "w+")

list = ["中午","早上","晚上"]

file_name.readlines(list)

file_name.seek(0) # 調整寫的指標到檔案的開始位置

for line in file:

# 讀取寫入的資料,這時候會讀出一行寫入的資料。

file.close()

Python檔案讀寫模式與常見操作

程式的執行作業系統把相關的檔案從硬碟載入到記憶體中,在記憶體中呼叫執行,當程式結束的時候,記憶體空間釋放,執行的結果得不到儲存,程式是一次性的。為了解決這個問題,我們在編碼中引入檔案的概念,通過檔案我們把上次執行的結果儲存在硬碟中。python提供呼叫函式open 來開啟檔案,將檔案載入在記憶體中,...

用python實現讀寫檔案常見操作方式

1 檔案讀取全文本操作 在一定場景下我們需要把文字全部內容讀取出來,進行處理。python提供三種函式讀取檔案,分別是read readline readlines,read 讀取檔案的全部內容,加上引數可以指定讀取的字元。readline 讀取檔案的一行。readlines 讀取檔案的所有行到記憶...

python 讀 寫檔案操作

python中也提供類似於c語言中的open read write函式,下面是我根據看過的內容的乙個python讀 寫檔案的 段 讀檔案 在python的執行資料夾中新建乙個 123.txt 的檔案,輸入2341.rfp open 123.txt 開啟乙個 123.txt 得到乙個檔案物件 分配記憶...