os.path 用法举例

os.path 是 Python 中用于处理文件路径的模块,提供了跨平台的路径操作方法。以下是常见用法及示例:


1. 路径拼接

import os

path1 = "/home/user"
path2 = "documents/file.txt"
full_path = os.path.join(path1, path2)
print(full_path)  # 输出: /home/user/documents/file.txt (Windows 下为 \)

2. 获取路径的目录名和文件名

path = "/home/user/documents/file.txt"

dir_name = os.path.dirname(path)
print(dir_name)  # 输出: /home/user/documents

file_name = os.path.basename(path)
print(file_name)  # 输出: file.txt

3. 拆分路径与扩展名

path = "/home/user/file.tar.gz"

# 拆分为 (root, ext),仅最后一级扩展名
root, ext = os.path.splitext(path)
print(root)  # 输出: /home/user/file.tar
print(ext)   # 输出: .gz

# 拆分所有部分(Python 3.9+)
parts = os.path.split(path)
print(parts)  # 输出: ('/home/user', 'file.tar.gz')

4. 检查路径是否存在或类型

path = "/home/user/file.txt"

# 检查是否存在
exists = os.path.exists(path)
print(exists)  # True 或 False

# 检查是否为文件
is_file = os.path.isfile(path)
print(is_file)  # True 或 False

# 检查是否为目录
is_dir = os.path.isdir(path)
print(is_dir)  # True 或 False

5. 获取绝对路径

relative_path = "../data/file.txt"
abs_path = os.path.abspath(relative_path)
print(abs_path)  # 输出当前目录的绝对路径(如 /home/user/../data/file.txt)

6. 规范化路径(处理 ...

path = "/home/user/../data/./file.txt"
normalized = os.path.normpath(path)
print(normalized)  # 输出: /home/data/file.txt

7. 获取文件大小和修改时间

path = "/home/user/file.txt"

# 文件大小(字节)
size = os.path.getsize(path)
print(size)

# 修改时间(时间戳)
mtime = os.path.getmtime(path)
print(mtime)

8. 分割路径为多部分

path = "/home/user/documents/file.txt"
parts = os.path.split(path)  # 分割为 (目录, 文件名)
print(parts)  # 输出: ('/home/user/documents', 'file.txt')

# 递归分割所有部分
drive, path_parts = os.path.splitdrive(path)  # Windows 下获取盘符
print(drive, path_parts)

9. 检查路径是否为绝对路径

path1 = "/home/user/file.txt"
path2 = "documents/file.txt"

print(os.path.isabs(path1))  # True
print(os.path.isabs(path2))  # False

10. 扩展:os.pathpathlib(Python 3.4+)

现代 Python 推荐使用 pathlib 模块(面向对象风格):

from pathlib import Path

path = Path("/home/user/file.txt")
print(path.parent)    # 目录名
print(path.name)      # 文件名
print(path.suffix)    # 扩展名

注意事项

  • os.path 的方法会自动适应操作系统(如 Windows 用 \,Linux 用 /)。
  • 路径操作不会验证路径是否真实存在,仅处理字符串。

通过 os.path,可以安全地处理跨平台路径问题,避免手动拼接字符串导致的错误。

posted @ 2025-11-28 10:33  nxhujiee  阅读(5)  评论(0)    收藏  举报