首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 更多程式設計知識

Python os 模組常用函數速查表:跨平台檔案與路徑操作完全指南

     編輯:更多程式設計知識

os 模組是 Python 標準庫中實現跨平台系統操作的核心。無論你在 Windows、Linux 或 macOS,透過 os 模組撰寫的程式碼都能無縫移植。本文整理最高頻使用的函數與常數,附上說明與適用場景,供開發者隨時查閱。

路徑與檔案系統核心函數

函數/常數用途範例/備註
os.sep路徑分隔符(跨平台)Windows: \\;Linux/macOS: /
os.name識別作業系統平台'nt' (Windows)、'posix' (Linux/Unix)
os.getcwd()取得目前工作目錄回傳字串路徑
os.chdir(path)切換工作目錄相對/絕對路徑皆可
os.listdir(path)列出目錄內容回傳檔名/目錄名列表(不含路徑)
os.remove(path)刪除檔案目錄請用 os.rmdir 或 shutil.rmtree
os.mkdir(path) / os.makedirs(path)建立目錄makedirs 可遞迴建立多層
os.rename(src, dst)重命名/移動檔案跨檔案系統可能失敗,建議用 shutil.move

路徑操作進階(os.path 子模組)

函數功能範例
os.path.join(path, *paths)智慧型路徑拼接(自動處理分隔符)os.path.join('a', 'b') -> 'a/b'
os.path.split(path)分割目錄與檔名('dir', 'file.txt')
os.path.splitext(path)分離副檔名('file', '.txt')
os.path.basename(path)取得檔名'file.txt'
os.path.dirname(path)取得目錄路徑'/home/user'
os.path.abspath(path)轉為絕對路徑相對路徑轉絕對
os.path.normpath(path)規範化路徑(處理 ..、重複分隔符)'a//b/../c' -> 'a/c'
os.path.exists(path)判斷路徑是否存在檔案/目錄皆可
os.path.isfile(path) / isdir(path)判斷是檔案/目錄不存在回傳 False
os.path.getsize(path)取得檔案大小(位元組)目錄回傳 0

環境變數與程序控制

  • os.getenv(key) / os.environ.get(key):讀取環境變數(找不到回傳 None)
  • os.putenv(key, value):設定環境變數(僅影響當前程序)
  • os.system(cmd):執行 Shell 指令(回傳狀態碼,不捕獲輸出,建議改用 subprocess)
  • os.linesep:目前平台換行符(Windows \r\n、Linux \n、macOS \r)
  • os.curdir ('.') / os.pardir ('..'):目前/上層目錄常數

實用小技巧

# 安全讀取環境變數並提供預設值
debug = os.getenv('DEBUG', 'false').lower() == 'true'

# 遞迴列出所有 .py 檔案
import glob
py_files = glob.glob('**/*.py', recursive=True)

# 取得專案根目錄(假設此檔在 project/sub/module.py)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

善用 os 與 os.path,能寫出乾淨、可攜帶的系統層級 Python 程式碼。更複雜的檔案操作請參考 pathlib (Python 3.4+) 與 shutil 模組。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved