当前位置:首页>python>快速上手 Python 的 os 库

快速上手 Python 的 os 库

  • 2026-09-10 12:09:48
快速上手 Python 的 os 库

os 是 Python 标准库中最常用的模块之一,它的职责是和操作系统打交道:读写文件路径、创建删除文件和目录、读取环境变量、执行系统命令……几乎每个稍成规模的脚本都会用到它。本文用几分钟带你快速上手。

一、路径处理:os.path

os.path 是 os 里最常用的一组函数,专门处理文件路径。其中 join 用来拼接路径,会自动处理不同平台的路径分隔符,是跨平台开发的第一条铁律。

import os
path = os.path.join("code", "demo.py")
print(path)                        # code/demo.py
print(os.path.dirname(path))       # code
print(os.path.basename(path))      # demo.py
print(os.path.splitext(path))      # ('code/demo', '.py')
print(os.path.exists(path))        # 是否存在

除了上面这些,os.path 还有 isfile / isdir 判断类型、abspath 转绝对路径、getsize 取文件大小等。记住一句话:只要和路径有关,先去 os.path 里找。

二、目录与文件操作

os 还提供了一套操作目录和文件的方法,相当于把命令行里的 cd、mkdir、rm 搬进了 Python。

os.getcwd()                          # 当前工作目录
os.chdir("/tmp")                     # 切换目录
os.makedirs("a/b/c", exist_ok=True)  # 递归创建目录
print(os.listdir("."))               # 列出当前目录
os.rename("old.txt", "new.txt")      # 重命名
os.remove("new.txt")                 # 删除文件

注意:remove 只能删文件,删空目录用 rmdir,删非空目录要借助 shutil.rmtree。

三、读取环境变量

print(os.environ)            # 全部环境变量(字典)
home = os.getenv("HOME")     # 取单个,没有则返回 None

os.environ 是一个字典,可以直接索引;但用 getenv 更安全,因为它遇到不存在的变量会返回 None 而不是抛异常。

四、执行系统命令

os 也能执行 shell 命令,但官方更推荐 subprocess 模块,功能更强也更安全。

os.system("echo hello")      # 简单执行,返回退出码
# 推荐写法:
import subprocess
subprocess.run(["ping", "-c", "1", "baidu.com"])

五、几个实用小技巧

os.name 告诉你当前平台(Windows 是 nt,Linux/macOS 是 posix);os.sep 是当前平台的路径分隔符;os.linesep 是换行符。写跨平台代码时,永远用 os.path.join 拼路径,而不要手写 / 或 \。

总结

os 库是 Python 与操作系统之间的桥梁:路径找 os.path,文件和目录找 makedirs / listdir / rename,环境变量找 environ / getenv,执行命令优先 subprocess。把这四块吃透,日常脚本里 90% 的系统交互需求都能搞定。

最新文章

随机文章