Python_os.path 模块使用详细教程

一、使用方法

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
  • 9
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值