1. 什麼是當前目錄?
在 Python 中,「當前目錄」指的是當前的工作目錄(資料夾)。當程式執行時,所有的檔案讀取、寫入和操作都會以這個目錄為基準。例如,如果在程式碼中開啟檔案,而當前目錄沒有正確設置,就可能會導致找不到檔案並發生錯誤。
當前目錄的作用
在 Python 中,當讀取檔案或建立新檔案時,當前目錄扮演著重要的角色。如果程式的主要功能涉及檔案操作,確認和正確設定當前目錄將會對程式的運行產生重大影響。
2. 如何在 Python 中獲取當前目錄
有兩種方法可以獲取當前目錄:使用 os
模組和 pathlib
模組。根據需求選擇適合的方法,可以更靈活地操作目錄。
2.1 使用 os
模組獲取當前目錄
os
模組是 Python 的標準函式庫之一,提供了與作業系統相關的功能。要獲取當前目錄,可以使用 os.getcwd()
。
import os
current_directory = os.getcwd()
print(current_directory)
執行這段程式碼後,當前目錄的絕對路徑將會顯示出來。例如,如果工作環境為「/home/user/MyPythonProject」,那麼這個路徑將會被輸出。這個方法對於確認程式是否在正確的目錄中運行非常有用。
2.2 使用 pathlib
模組獲取當前目錄
Python 3.4 之後,新增了 pathlib
模組,讓開發者能夠以更直覺的方式操作檔案系統。可以使用 pathlib.Path.cwd()
來獲取當前目錄,並返回一個 Path
物件。
from pathlib import Path
current_directory = Path.cwd()
print(current_directory)
Path
物件在處理目錄階層時特別方便。此外,還可以使用 Path
來進行更複雜的路徑操作,例如合併路徑或檢查檔案是否存在。

3. 如何在 Python 中更改當前目錄
在 Python 中更改當前目錄後,可以操作其他目錄內的檔案。這樣能擴大程式的運行範圍,並實現更靈活的檔案管理。
3.1 使用 os
模組更改當前目錄
要更改當前目錄,可以使用 os.chdir()
,這樣可以輕鬆切換到新目錄。以下程式碼示範如何將當前目錄更改為 /home/user/NewDirectory
。
import os
os.chdir('/home/user/NewDirectory')
print(os.getcwd())
執行這段程式碼後,程式將會切換到指定的目錄,並輸出當前目錄的新路徑,以確認目錄是否成功更改。
3.2 使用 pathlib
模組搭配 os
進行目錄操作
pathlib
模組本身沒有更改當前目錄的功能,但可以與 os.chdir()
搭配使用,讓目錄操作更加方便。例如,以下程式碼示範如何用 pathlib
來管理目錄,並用 os.chdir()
來切換目錄。
from pathlib import Path
import os
new_directory = Path('/home/user/NewDirectory')
os.chdir(new_directory)
print(Path.cwd())
這種方法允許使用 Path
物件來操作目錄,讓程式碼更加清晰且易於維護。
4. 取得當前目錄內的檔案列表
如果想要確認當前目錄內有哪些檔案或資料夾,可以使用 os.listdir()
。這個函式會返回指定目錄內所有檔案和資料夾的名稱列表。
import os
current_directory = os.getcwd()
files = os.listdir(current_directory)
print(files)
執行這段程式碼後,當前目錄內的所有檔案和資料夾名稱將會以列表的形式輸出。透過取得檔案列表,可以輕鬆確認目錄內容,並進一步進行檔案操作。

5. 當前目錄操作的錯誤排除
在操作當前目錄時,程式有時會出現意料之外的錯誤。特別是當執行程式時,如果當前目錄不是預期的位置,或者檔案不存在,可能會導致錯誤。
常見問題與解決方法
- 程式未在預期的目錄中執行
為了避免這個問題,可以在程式的開頭使用os.getcwd()
來確認當前目錄。如果目錄不正確,可以使用os.chdir()
來調整。 - 找不到檔案錯誤 (FileNotFoundError)
這通常是因為檔案路徑指定錯誤造成的。為了確保正確的檔案路徑,可以使用os.path.abspath()
來取得檔案的絕對路徑。
import os
file_path = os.path.abspath('myfile.txt')
print(file_path)
執行這段程式碼後,會顯示檔案的絕對路徑,這樣可以避免因為相對路徑錯誤而導致找不到檔案的問題。
6. 總結
在 Python 中,當前目錄的操作對於檔案的讀取、寫入和管理來說至關重要。熟練使用 os
模組與 pathlib
模組,能夠大幅提升目錄操作的效率。
透過正確地獲取與變更當前目錄,可以確保程式執行的穩定性,減少錯誤發生的機率,並讓檔案管理更加靈活。希望這篇指南能幫助你更好地掌握 Python 中的目錄操作!