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
模块使得路径处理更加便捷和可靠。它是处理文件系统路径时不可或缺的工具。