Python的os.path常见用法

本文详细介绍了Python中os.path模块的常用功能,包括如何判断路径是否为文件或目录、获取路径的基本信息如文件名和目录名、路径的拆分与合并、获取绝对路径以及标准化路径等操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Python的os.path常见用法


首先需要导入os模块
import os

1、os.path.isfile判断是否是文件,正确返回True,不是返回Flase

>>> import os
>>> path=r'D:\IStudy\Python\program_test\2017-05-10.txt'
>>> os.path.isfile(path)
True

2、os.path.isdir判断是否为目录,正确返回True,不是返回Flase

>>> os.path.isdir(path)
False
>>>

3、os.path.basename(path),os.path.dirname(path)分别是目录本身和文件名

>>> os.path.dirname(path), os.path.basename(path)
('D:\\IStudy\\Python\\program_test', '2017-05-10.txt')
>>>

4、os.path.split(path)分割文件路径和目录

>>> os.path.split(path)
('D:\\IStudy\\Python\\program_test', '2017-05-10.txt')

5、在每个分割线分割

>>> path.split(os.sep)
['D:', 'IStudy', 'Python', 'program_test', '2017-05-10.txt']

6、os.path.join(*path)合并路径

>>> os.path.join('D:\\IStudy\\Python\\program_test','2017-05-10.txt')
'D:\\IStudy\\Python\\program_test\\2017-05-10.txt'
>>> os.path.join(*path.split(os.sep))
'D:IStudy\\Python\\program_test\\2017-05-10.txt'
>>>

7、os.path.abspath(path)绝对路径

>>> os.chdir(r'D:\data_test')    #进入一个目录
>>> os.getcwd()                      #查看当前目录
'D:\\data_test'                       
>>> os.path.abspath('.')          #查看当前目录的绝对路径
'D:\\data_test'
>>> os.path.abspath('..\data_test') #补全绝对路径
'D:\\data_test'
>>>

8、os.path.normpath(path)处理混合linux和windows分隔符路径

>>> os.path.normpath('D:\\data_test/test/test_sub')
'D:\\data_test\\test\\test_sub'
>>>


以后应该会慢慢补充和使用场景,这种內建的既方便效率又高,熟悉一下很有必要。




### os.path.splitext 方法的功能与使用示例 `os.path.splitext` 是 Python 中 `os.path` 模块提供的一个函数,用于将文件路径分割成主文件名扩展名两部分。该函数返回一个元组,其中第一个元素是主文件名(不包含扩展名),第二个元素是文件扩展名(包含点号 `.`)[^2]。 #### 语法 ```python import os os.path.splitext(path) ``` - **参数**:`path` 是一个文件路径(可以是相对路径或绝对路径)。 - **返回值**:返回一个元组 `(filename, extension)`,其中: - `filename` 是主文件名(不包括扩展名)。 - `extension` 是文件扩展名(包括点号 `.`)。 #### 使用示例 ##### 分割文件名扩展名 以下代码展示了如何使用 `os.path.splitext` 来分割文件名扩展名: ```python import os file_path = "example.txt" name, ext = os.path.splitext(file_path) print(name) # 输出: example print(ext) # 输出: .txt ``` ##### 分割不同类型的文件 `os.path.splitext` 可以处理多种文件类型,包括多级扩展名的情况: ```python import os print(os.path.splitext("document.pdf")) # ('document', '.pdf') print(os.path.splitext("image.jpeg")) # ('image', '.jpeg') print(os.path.splitext("archive.tar.gz")) # ('archive.tar', '.gz') print(os.path.splitext("no_extension")) # ('no_extension', '') ``` 在多级扩展名的情况下,该函数仅将最后一个点号后的内容视为扩展名,其余部分作为主文件名 。 ##### 结合绝对路径使用 `os.path.splitext` 也可以处理绝对路径: ```python import os path_01 = 'D:/User/wgy/workplace/data/notMNIST_large.tar.gar' root_01 = os.path.splitext(path_01) print(root_01) # ('D:/User/wgy/workplace/data/notMNIST_large.tar', '.gar') ``` #### 注意事项 - 如果文件路径中没有扩展名,则返回的扩展名部分为空字符串 [^4]。 - 该函数不会验证文件是否存在,仅对路径字符串进行操作 。 ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值