os.path模块介绍

os.path 是 Python 中用于操作路径名的模块,提供了处理文件路径和目录的各种功能。以下是 os.path 模块的一些常见方法及其用法:


1. os.path.join()

将一个或多个路径组件组合成一个路径字符串,同时自动处理路径分隔符。

import os

path = os.path.join("folder", "subfolder", "file.txt")
print(path)  # Windows: folder\subfolder\file.txt, Unix: folder/subfolder/file.txt

2. os.path.exists()

检查路径是否存在。

path = "example.txt"
if os.path.exists(path):
    print("Path exists.")
else:
    print("Path does not exist.")

3. os.path.isfile()os.path.isdir()

  • isfile(): 检查路径是否是文件。
  • isdir(): 检查路径是否是目录。
path = "example.txt"
if os.path.exists(path):
    print("Path exists.")
else:
    print("Path does not exist.")

4. os.path.basename()os.path.dirname()

  • basename(): 返回路径的文件名部分。
  • dirname(): 返回路径的目录部分。
path = "/folder/subfolder/file.txt"
print(os.path.basename(path))  # file.txt
print(os.path.dirname(path))   # /folder/subfolder

5. os.path.split()

将路径拆分为目录和文件名。

path = "/folder/subfolder/file.txt"
directory, filename = os.path.split(path)
print(directory)  # /folder/subfolder
print(filename)   # file.txt

6. os.path.splitext()

将路径与扩展名分开。

path = "file.txt"
filename, extension = os.path.splitext(path)
print(filename)  # file
print(extension) # .txt

7. os.path.abspath()

返回路径的绝对路径。

path = "example.txt"
absolute_path = os.path.abspath(path)
print(absolute_path)  # /absolute/path/to/example.txt

8. os.path.normpath()

规范化路径,去除冗余分隔符等。

path = "folder//subfolder/../file.txt"
normalized_path = os.path.normpath(path)
print(normalized_path)  # folder/file.txt

9. os.path.getsize()

获取文件的大小(字节数)。

path = "example.txt"
size = os.path.getsize(path)
print(f"File size: {size} bytes")

10. os.path.commonpath()

返回多个路径的公共部分。

paths = ["/folder/subfolder1/file.txt", "/folder/subfolder2/file2.txt"]
common = os.path.commonpath(paths)
print(common)  # /folder

11. os.path.relpath()

返回相对于某个目录的相对路径。

path = "/folder/subfolder/file.txt"
start = "/folder"
relative_path = os.path.relpath(path, start)
print(relative_path)  # subfolder/file.txt

12. os.path.isabs()

检查路径是否是绝对路径。

print(os.path.isabs("/absolute/path"))  # True
print(os.path.isabs("relative/path"))  # False

13. os.path.ismount()

检查路径是否是一个挂载点。

print(os.path.ismount("/"))  # True on Linux/Unix

通过这些功能,os.path 模块使得路径处理更加便捷和可靠。它是处理文件系统路径时不可或缺的工具。

Scroll to Top