Python 檔案操作

Jinku Hu 2023年1月30日
  1. 開啟檔案
  2. 關閉檔案
  3. 檔案物件
  4. 寫入檔案
  5. 讀取檔案
  6. 重新命名和刪除檔案
Python 檔案操作

在本節中,我們將來學習 Python 中的檔案操作。

在 Python 中,你可以開啟、讀取或寫入檔案,然後最終關閉檔案。這些可以通過使用一些檔案操作函式來完成。要對檔案執行任何操作,你必須首先建立檔案物件。

開啟檔案

一個檔案可以使用 open() 函式來開啟,Python 自動隨之就建立一個檔案物件,用於稍後對該檔案執行操作。

開啟檔案的語法如下,

obj = open(fileName, mode)

fileName 是檔名,mode 定義了檔案開啟的模式,例如 r 是以只讀模式來開啟檔案。

fobj = open("PythonExamplefile.txt", "r")

檔案開啟模式

模式 含義
r 讀取模式
rb 讀取模式下二進位制格式在
r+ 讀寫模式
rb+ 讀寫模式下二進位制格式
w 寫入模式。如果該檔案不存在,將建立一個新檔案。如果檔案存在,則會被覆蓋
wb 寫入模式下二進位制格式。如果該檔案不存在,將建立一個新檔案。如果檔案存在,則會被覆蓋
w+ 讀寫模式。如果該檔案不存在,將建立一個用於讀寫的新檔案。如果檔案存在,則會被覆蓋
wb+ 讀寫模式下二進位制格式。如果該檔案不存在,將建立一個用於讀寫的新檔案。如果檔案存在,則會被覆蓋
a 追加模式。新資料將寫在檔案末尾。如果該檔案不存在,將建立一個用於寫入的新檔案
ab 追加模式下二進位制格式。新資料將寫在檔案末尾。如果該檔案不存在,將建立一個用於讀寫的新檔案
a+ 追加和讀寫模式。新資料將寫在檔案末尾。如果該檔案不存在,將建立一個用於讀寫的新檔案
ab+ 追加和讀寫模式。新資料將寫在檔案末尾。如果該檔案不存在,將建立一個用於讀寫的新檔案

關閉檔案

檔案在執行操作後,必須要關閉,通過檔案物件的 close() 方法來關閉。

fobj.close()
fobj = open("PythonExamplefile.txt", "r")
# operations on file
fobj.close()

檔案物件

開啟檔案時,會建立一個可用於執行操作的檔案物件。你可以通過它來獲取有關檔案的資訊,例如檔名、開啟模式等。

fobj = open("PythonExamplefile.txt", "r")
print("File name", fobj.name)
print("File mode", fobj.mode)
fobj.close()
File name PythonExamplefile.txt
File mode r

寫入檔案

write() 方法用於向檔案中寫入內容,檔案必須在開啟後才能寫入。

使用 write() 方法的語法如下:

fobj.write("string")

舉個例子,

fobj = open("PythonExamplefile.txt", "w")
fobj.write("Hello Python Programming")
fobj.close()

Hello Python Programming 會被寫入到檔案 PythonExamplefile.txt 中,假如原來檔案中有內容,就會被覆蓋掉。

讀取檔案

你可以使用 read() 方法來讀取檔案。下面是從檔案中讀取的語法:

fobj.read(numberofBytes)

這裡 numberofBytes 是從檔案中讀取的總位元組數。

fobj = open("PythonExamplefile.txt", "r")
content = fobj.read(5)
print(content)
fobj.close()
Hello

重新命名和刪除檔案

重新命名檔案

rename() 方法用於重新命名檔案,其語法如下,

os.rename(currentName, newName)

這裡,os 是一個模組,它允許你執行依賴於作業系統的功能。

舉例如下,

import os

os.rename("PythonExamplefile.txt", "Python.txt")

Python.txt 該檔案的新名稱。

刪除檔案

檔案可以通過 remove() 方法來刪除,其語法如下,

os.remove(nameofFile)

舉例如下,

import os

os.remove("Python.txt")
Enjoying our tutorials? Subscribe to DelftStack on YouTube to support us in creating more high-quality video guides. Subscribe
作者: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

DelftStack.com 創辦人。Jinku 在機器人和汽車行業工作了8多年。他在自動測試、遠端測試及從耐久性測試中創建報告時磨練了自己的程式設計技能。他擁有電氣/ 電子工程背景,但他也擴展了自己的興趣到嵌入式電子、嵌入式程式設計以及前端和後端程式設計。

LinkedIn Facebook