一、使用方法
1、os.path.join(path1, path2, …)
- 将多个路径组合成一个新路径
# 将多个路径组合成一个新路径
import os
path1 = 'C:\\path\\to'
path2 = 'test\\file.txt'
new_path = os.path.join(path1, path2)
print(new_path)
# 输出:C:\path\to\test\file.txt
注:路径拼接时,第一个路径结尾和后面路径的开头以及结尾都不要包含分隔符(“/” “\”),否则会导致路径获取不正确。
2、os.path.exists(path)
- 判断文件或文件夹是否存在
# 判断文件或文件夹是否存在
import os
# 判断文件是否存在
file_path = 'C:\\path\\to\\file.txt'
if os.path.exists(file_path):
print('文件存在')
else:
print('文件不存在')
# 判断文件夹是否存在
folder_path = 'C:\\path\\to\\directory'
if os.path.exists(folder_path):
print('文件夹存在')
else:
print('文件夹不存在')
3、os.path.abspath(path)
- 获取指定路径的绝对路径
# 获取指定路径的绝对路径
import os
# abspath(path)
path = 'relative\\path\\to\\file.txt'
absolute_path = os.path.abspath(path)
print(absolute_path)
# 输出:C:\Users\admin\Desktop\python\relative\path\to\file.txt
4、os.path.basename(path)
- 返回给定路径的文件名
# 返回给定路径的文件名
import os
path = 'C:\\path\\to\\file.txt'
base_name = os.path.basename(path)
print(base_name)
# 输出:file.txt
5、os.path.dirname(path)
- 返回给定路径的目录路径
# 返回给定路径的目录路径
import os
path = 'C:\\path\\to\\file.txt'
directory = os.path.dirname(path)
print(directory)
# 输出:C:\path\to
6、os.path.commonpath(paths)
- 返回给定多个路径中的最长公共父目录
# 返回给定多个路径中的最长公共父目录
import os
paths = ['C:\\path\\to\\file1.txt', 'C:\\path\\to\\file2.txt', 'C:\\path\\to\\dir\\file3.txt']
common_path = os.path.commonpath(paths)
print(common_path)
# 输出:C:\path\to
7、os.path.isabs(path)
- 检查路径是否为绝对路径
# 检查路径是否为绝对路径
import os
path = 'C:\\path\\to\\file.txt'
if os.path.isabs(path):
print('路径是绝对路径')
else:
print('路径不是绝对路径')
8、os.path.isdir(path)
- 检查路径是否为目录
# 检查路径是否为目录
import os
path = 'C:\\path\\to\\directory'
if os.path.isdir(path):
print('路径是一个目录')
else:
print('路径不是一个目录')
9、os.path.isfile(path)
- 检查路径是否为文件
# 检查路径是否为文件
import os
path = 'C:\\path\\to\\file.txt'
if os.path.isfile(path):
print('路径是一个文件')
else:
print('路径不是一个文件')
10、os.path.getatime(path)
- 返回文件的最后访问时间
# 返回文件的最后访问时间
import time
import os
path = 'C:\\path\\to\\file.txt'
access_time = os.path.getatime(path)
print(time.ctime(access_time)) # 输出:文件最后访问时间的字符串表示
11、os.path.getctime(path)
- 返回文件的创建时间
# 返回文件的创建时间
import time
import os
path = 'C:\\path\\to\\file.txt'
creation_time = os.path.getctime(path)
print(time.ctime(creation_time)) # 输出:文件创建时间的字符串表示
12、os.path.getmtime(path)
- 返回文件的最后修改时间
# 返回文件的最后修改时间
import time
import os
path = 'C:\\path\\to\\file.txt'
modification_time = os.path.getmtime(path)
print(time.ctime(modification_time)) # 输出:文件最后修改时间的字符串表示
13、os.path.getsize(path)
- 返回文件的大小(字节数)
# 返回文件的大小(字节数)
import os
path = 'C:\\path\\to\\file.txt'
file_size = os.path.getsize(path)
print(file_size) # 输出:文件大小的字节数
14、os.path.normcase(path)
- 根据操作系统规范化路径的大小写
# 根据操作系统规范化路径的大小写
import os
path = 'C:\\Path\\To\\File.TXT'
normalized_path = os.path.normcase(path)
print(normalized_path) # 输出:'C:\\path\\to\\file.txt'
15、os.path.normpath(path)
- 根据操作系统规范化路径的格式
# 根据操作系统规范化路径的格式
import os
path = 'C:\\path\\.\\to\\..\\file.txt'
normalized_path = os.path.normpath(path)
print(normalized_path)
# 输出:C:\path\file.txt
# 或
path = 'to/file.txt'
normalized_path = os.path.abspath(os.path.normpath(path))
print(normalized_path)
# 输出:C:\Users\admin\Desktop\python\to\file.txt
16、os.path.split(path)
- 将路径分割为目录路径和文件名
# 将路径分割为目录路径和文件名
import os
path = 'C:\\path\\to\\file.txt'
directory, file_name = os.path.split(path)
print(directory) # 输出:C:\path\to
print(file_name) # 输出:file.txt
17、os.path.splitdrive(path)
- 将路径分割为驱动器和路径部分
# 将路径分割为驱动器和路径部分
import os
path = 'C:\\path\\to\\file.txt'
drive, path_part = os.path.splitdrive(path)
print(drive) # 输出:C:
print(path_part) # 输出:\path\to\file.txt
18、os.path.splitext(path)
- 将路径分割为文件名和扩展名
# 将路径分割为文件名和扩展名
import os
path = 'C:\\path\\to\\file.txt'
file_name, extension = os.path.splitext(path)
print(file_name) # 输出:C:\path\to\file
print(extension) # 输出:.txt
19、os.path.expanduser(path)
- 将路径中的波浪线(~)扩展为用户主目录
# 获取用户的主目录
import os
home_dir = os.path.expanduser("~")
print("用户主目录:", home_dir)
# 输出:用户主目录: C:\Users\admin
path = '~\\path\\to\\file.txt'
expanded_path = os.path.expanduser(path)
print(expanded_path)
# 输出:C:\Users\admin\path\to\file.txt
20、获取绝对路径
import os
import sys
# 获取当前 Python 源代码文件的绝对路径
absolute_path = os.path.abspath(__file__)
print("Python 源代码文件的绝对路径:", absolute_path)
# 输出:c:\Users\admin\Desktop\python\Demo.py
# 获取当前可执行文件的绝对路径 (PyInstaller 打包请使用该方法)
program_absolute_path = os.path.abspath(sys.argv[0])
print("程序可执行文件的绝对路径:", program_absolute_path)
# 输出:c:\Users\admin\Desktop\python\Demo.py
# 获取可执行文件所在的目录的绝对路径
executable_path = os.path.dirname(program_absolute_path)
print("程序所在目录的绝对路径:", executable_path)
# 输出:c:\Users\admin\Desktop\python