在讀取檔案時,最怕路徑的問題,常常會有路徑錯誤造成的異常報錯。
為了避免諸如此類的問題發生,明白程式的當前目錄與檔案的路徑是很重要的。
可以利用os
模組是 Python 中的一個標準庫,提供了許多與操作系統的功能。
以下是一些常用的 os
模組基本操作及其範例:
os.getcwd()
讀取當前工作目錄。
import os
current_directory = os.getcwd()
print("Current Working Directory:", current_directory)
os.chdir(path)
改變當前工作目錄。
import os
os.chdir('/path/to/new/directory')
print("Changed Working Directory to:", os.getcwd())
import os
current_directory = os.getcwd()
print("Current Working Directory:", current_directory)
os.chdir('F:/python')
print("Changed Working Directory to:", os.getcwd())
先讀取目前的工作目錄確認在 F:\python\opencv
,在修改工作目錄'F:/python'
,在印出來確認有修改完成
os.listdir(path)
列出指定目錄中的所有文件和子目錄。
import os
files = os.listdir('F:/python/new')
print("Files and directories in 'F:/python/new'':", files)
# 印出 Files and directories in 'F:/python/new'': ['multi', '1.txt', '2.txt']
資料夾內有子目錄:multi 文件1.txt', 2.txt。
os.mkdir(path)
創建單個目錄。
import os
os.mkdir('/path/to/new/directory')
os.makedirs(path)
創建多級目錄。顧名思義就是多創造多層的目錄
exist_ok=True
,意思是若資料夾存在就不創建,避免重複創建報錯
import os
os.mkdir('F:/python/new/multi/level/directory')
直接創立了new與multi與level跟directory四個資料夾。
os.remove(path)
刪除文件。
import os
os.remove('/path/to/file')
os.rmdir(path)
刪除單個目錄(該目錄必須是空的)。
import os
os.rmdir('/path/to/empty/directory')
os.rename(src, dst)
重命名文件或目錄。
import os
os.rename('/path/to/current_name', '/path/to/new_name')
os.path.exists(path)
檢查路徑是否存在。
import os
if os.path.exists('/path/to/check'):
print("Path exists.")
else:
print("Path does not exist.")
os.path.join(*paths)
拼接路徑。
import os
path = os.path.join('/path', 'to', 'directory_or_file')
print("Joined path:", path)
os.path.isfile(path)
檢查路徑是否為文件。
import os
if os.path.isfile('/path/to/file'):
print("It is a file.")
else:
print("It is not a file.")
os.path.isdir(path)
檢查路徑是否為目錄。
import os
if os.path.isdir('/path/to/directory'):
print("It is a directory.")
else:
print("It is not a directory.")
os.path.getsize(path)
獲取文件大小(以字節為單位)。
import os
size = os.path.getsize('/path/to/file')
print("File size:", size, "bytes")
os.path.abspath(path)
讀取絕對路徑。
import os
absolute_path = os.path.abspath('relative/path/to/file_or_directory')
print("Absolute path:", absolute_path)
os.environ
讀取目前環境變量。
import os
home_directory = os.environ.get('HOME')
print("Home directory:", home_directory)