【Python】(os.path)绝对路径、路径拼接、拆分出文件名、拆分出扩展名、判断文件、获取文件日期

文件操作时,总会遇到路径问题,例如:相对路径转为绝对路径、路径拼接、将路径的文件目录和文件名拆分、将路径的文件名和扩展名拆分、只想获取文件名、只想获取扩展名等。

也会涉及到判断是文件还是文件夹,以及获取文件信息(文件大小、创建日期、修改日期、访问日期等)。

判断是否是绝对路径:os.path.isabs(...)

参数:path。

返回:True/False。相对路径,返回False;绝对路径,返回True。

import os

os.path.isabs('NEWS.txt')                                       # 返回:False
os.path.isabs(r'E:/Program Files (x86)/python/NEWS.txt')        # 返回:True

相对路径转为绝对路径:os.path.abspath(...)

参数:path。

返回:字符串。

import os

os.path.abspath('NEWS.txt')       # 返回:'E:\\Program Files (x86)\\python\\NEWS.txt'

路径拼接:os.path.join(...)

参数:path1,path2,...

返回:字符串

import os

os.path.join(r'G:/','aa.txt')                           # 返回:'G:/aa.txt'
os.path.join(r'G:/','python','NEWS.txt')                # 返回:'G:/python\\NEWS.txt'

文件路径和文件名拆分:os.path.split(...)

参数:path。

返回:元组。元组中2个元素:(文件路径,文件名)。

import os

os.path.split(r'E:/Program Files (x86)/python/NEWS.txt')   
# 返回:
('E:/Program Files (x86)/python', 'NEWS.txt')

文件夹也适用。

import os

os.path.split(r'E:/Program Files (x86)/python')
# 返回:
('E:/Program Files (x86)', 'python')

若以"/"结尾,返回的元组中的第2个元素为空字符串。

import os

os.path.split(r'E:/Program Files (x86)/python/')
# 返回:
('E:/Program Files (x86)/python', '')

在路径中获取文件所在文件夹:os.path.dirname(...)

参数:path。

返回:字符串。

注意:文件和文件夹都适用。这也是os.path.split(...)返回的元组中的第一个元素。

 

在路径中获取文件名:os.path.basename(...)

参数:path。

返回:字符串。

注意:文件和文件夹都适用。这也是os.path.split(...)返回的元组中的第二个元素。

 

 文件名和扩展名拆分:os.path.splitext(...)

参数:path。

返回:元组。元组中2个元素:(文件名,扩展名)。

import os

os.path.splitext(r'E:/Program Files (x86)/python/NEWS.txt')
# 返回:
('E:/Program Files (x86)/python/NEWS', '.txt')

判断文件:

os.path.exists(path)判断文件或文件夹是否存在
os.path.isdir(path)判断是否为文件夹
os.path.isfile(path)判断是否为文件

                      

 

获取文件信息: 

os.path.getsize(path)

返回文件的字节数

文件不存在则报错(FileNotFoundError)

os.path.getatime(path)

返回上次访问路径的时间。

文件不存在则报错(FileNotFoundError)

os.path.getctime(path)

返回创建的时间(Windows)。

文件不存在则报错(FileNotFoundError)

os.path.getmtime(path)

返回上次修改的时间。

文件不存在则报错(FileNotFoundError)

                     

                    返回的是数字,需转为日期格式。

      

补充:os.path.sep,返回:'\\'

### 回答1: `os.path.split` 是Python中的一个函数,用于将一个路径分割为目录名文件名两部分。 例如: ```python import os path = '/home/user/example.txt' dirname, filename = os.path.split(path) print('Directory Name:', dirname) print('File Name:', filename) ``` 这段代码会输: ``` Directory Name: /home/user File Name: example.txt ``` 在这个例子中,`os.path.split` 函数将路径 `/home/user/example.txt` 分割为目录名 `/home/user` 文件名 `example.txt` 两部分,并将它们赋值给了 `dirname` `filename` 两个变量。 ### 回答2: `os.path.split` 是Python中的一个函数,用于将一个文件路径分割成目录路径文件名两部分。其返回值是一个包含两个字符串的元组,第一个元素是目录路径,第二个元素是文件名。 例如,假设我们有一个文件路径`/home/user/documents/file.txt`,我们可以使用`os.path.split`来将其分割成目录路径`/home/user/documents`文件名`file.txt`。 下面是一个示例代码: ```python import os file_path = '/home/user/documents/file.txt' directory, filename = os.path.split(file_path) print(f"目录路径为:{directory}") print(f"文件名为:{filename}") ``` 运行以上代码将会输: ``` 目录路径为:/home/user/documents 文件名为:file.txt ``` 通过使用`os.path.split`,我们可以方便地获取文件路径中的目录路径文件名,进一步处理操作文件。这对于文件管理文件操作任务非常有用。 ### 回答3: os.path.split是Python中的一个路径操作函数,用于将一个路径拆分成目录名文件名两部分。 当我们调用os.path.split(path)时,它将返回一个元组,其中包含目录名文件名。目录名是路径中的最后一个目录组成的字符串,而文件名路径中的最后一个文件或目录组成的字符串。 下面是一个例子来演示os.path.split的用法: ```python import os path = '/home/usr/documents/file.txt' dir_name, file_name = os.path.split(path) print('目录名:', dir_name) print('文件名:', file_name) ``` 运行以上代码,我们将会得到以下输: ``` 目录名: /home/usr/documents 文件名: file.txt ``` 在实际应用中,os.path.split经常与其他路径操作函数一起使用,例如os.path.join可以用来拼接目录名文件名os.path.isdir可以用来检查目录名是否是一个目录等等。假设我们需要获取某个文件所在的目录,可以结合使用os.path.splitos.path.abspath函数: ```python import os file_path = 'path/to/some/file.txt' dir_path = os.path.split(os.path.abspath(file_path))[0] print('文件所在的目录:', dir_path) ``` 以上代码将返回文件所在的目录路径os.path.abspath函数用于获取文件绝对路径os.path.split函数用于拆分路径并去掉文件名,最后得到目录路径。 总之,os.path.split是一个方便的路径操作函数,可以帮助我们更好地处理操作文件路径
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yannan20190313

感谢您的支持。祝好心情。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值