How to read write file in Python


How to read write file in Python

開啟檔案

open(file_path, mode)

這裡有兩個欄位 file_path 以及 mode 比較需要說明的是 model

model 有幾種型態 這裡不一一列出 僅列出常用的幾個

  • r 讀取檔案
  • w 寫入檔案
  • a 寫入在檔案的末端

這裡需要注意的是 如果檔案不存在的話 python 會很貼心的幫你新建一個檔案


再來看看如何讀取

# file.txt
Hello!
World!
HAHAHA

read() 讀取全部內容

file = open("file.txt", "r")
read_txt = file.read()
file.close()
# output
Hello!
World!
HAHAHA

read(size) 讀取指定的字元數

file = open("file.txt", "r")
read_txt = file.read(4)
file.close()
# output
Hello

readlines() 一次讀取一行

file = open("file.txt", "r")
for line in file.readlines():
    print(line)
file.close()
# output
Hello!
World!
HAHAHA

也可以這樣做

file = open("file.txt", "r")
for line in file:
    print(line)
file.close()
# output
Hello!
World!
HAHAHA

readline 一次讀取一個字

file = open("file.txt", "r")
for word in file.readline():
    print(word)
file.close()
# output
H
e
l
l
o
!

寫入檔案

write(str) 這樣就寫入啦~

file = open("file.txt", "w")
file.write("Hello!")
file.close()
# output file.txt
Hello!

我們也可以利用 join 來格式化文字寫入多行

file = open("file.txt", "w")
arr = ["Hello!", "World!"]
file.write("\n".join(arr))
file.close()
# output file.txt
Hello!
World!

當然我們有個陣列的話 也可以使用 writelines(str_arr) 來寫入多筆

file = open("file.txt", "w")
arr = ["Hello!", "World!"]
file.writelines(arr)
file.close()

但跟前一個使用 file.write("\n".join(arr)) 方法不同的是我們可以發現輸出的檔案內文是

# output file.txt
Hello!World!

而不是我們要的

# output file.txt
Hello!
World!

所以要注意的是 writelines(str_arr) 是多筆寫入而不是多行寫入喔


最後記得 close() 避免不必要的錯誤

file = open("file.txt", "w")
file.close()

WRITTEN BY
Aki

熱愛寫code的開發者,專注於 Android 手機 Native App 開發,對於 IOS 也有涉略。閒暇之餘也學習 JavaScript 等前端框架