python os.path

本文详细介绍了Python中os.path模块的各种功能,包括路径处理、文件与目录操作、文件属性获取等。通过实例展示了如何使用这些函数进行路径分析、文件检查及基本信息获取。

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

os.path.abspath(path)返回path规范化的绝对路径:os.path.abspath('test.csv') ,返回 'c:\\test\\test.csv'

而os.path.abspath('c:\\test.csv') 返回'c:\\test.csv'

而os.path.abspath('../csv\\test.csv') 返回'c:\\csv\\test.csv'

 

os.path.basename('/Volumes/1.mp4')   #输出('1.mp4')。             去掉目录路径,返回fname文件名。

os.path.dirname('/Volumes/1.mp4')   #输出('/Volumes')。           去掉文件名,返回目录路径。

os.path.splitdrive('Volumes/1.mp4')   #输出('','/Volumes/1.mp4')。  返回(drivername,fpath)元组。

os.path.split('文件路径')    分割文件名与路径;返回(fpath,fname)元组;如果完全使用目录,它也会将最后一个目录作为文件名分离,且不会判断文件或者目录是否存在:os.path.split('/Volumes/1.mp4')    #输出(‘/Volumes’,‘1.mp4’)

os.path.split('/Volumes/text')     #输出(‘/Volumes’,‘text’)

 

os.path.splitext(“文件路径”)    分离文件名与扩展名;默认返回(fname,fextension)元组,可做分片操作

1 import os

2 fname, fextension=os.path.splitext('/Volumes/Leopard/Users/Caroline/Desktop/1.mp4')

3 print fname,fextension   #输出/Volumes/Leopard/Users/Caroline/Desktop/1 .mp4

4 os.path.splitext('/Volumes/Leopard/Users/Caroline/Desktop/1.mp4')[1:]  #输出('.mp4',)

5 os.path.join('a','b','1.mp4')  #输出#‘a/b/1.mp4’   将分离的部分组成一个路径名

 

 

  

查询:返回值True,False

exists()    指定路径(文件或者目录)是否存在
isabs()    指定路径是否为绝对路径

isdir()    指定路径是否存在且为一个目录

isfile()    指定路径是否存在且为一个文件

islink()    指定路径是否存在且为一个符号链接

ismount()    指定路径是否存在且为一个挂载点  ???

samefile()    两个路径名是否指向同一个文件

文件信息

getatime()    返回最近访问时间  (浮点型秒数)

getctime()    返回文件创建时间

getmtime()    返回最近文件修改时间

getsize()    返回文件大小 (字节为单位)

abspath()    返回绝对路径

normpath()    规范path字符串形式  ???

 

 几个例子:

import os

import time

file='/Volumes/Leopard/Users/Caroline/Desktop/1.mp4'

os.path.getatime(file)   #输出最近访问时间1318921018.0

 os.path.getctime(file)   #输出文件创建时间

 os.path.getmtime(file)   #输出最近修改时间

 time.gmtime(os.path.getmtime(file))   #以struct_time形式输出最近修改时间

 os.path.getsize(file)    #输出文件大小(字节为单位)

 os.path.abspath(file)    #输出绝对路径'/Volumes/Leopard/Users/Caroline/Desktop/1.mp4'

os.path.normpath(file)   #输出'/Volumes/Leopard/Users/Caroline/Desktop/1.mp4'

 

基本模块函数:

os.sep——返回当前系统的路径分隔符,win返回'\\',Linux返回'/'

os.name——返回一个字符串,指示当前使用的系统平台。'nt'指win 'posix'指Linux、Unix

os.getcwd()——返回当前工作目录

os.path.abspath('.')——返回当前工作目录,.代表当前路径,..代表上一级路径

os.chdir(newdir)——改变工作目录

os.mkdir('test')——创建单个目录

os.makedirs(r'c\python\test')——创建多级目录

os.rmdir('test')——删除单个目录

os.removedirs(r'c:\python')——删除所给路径最后一个目录下所有空目录

os.stat(file)——获取文件属性

os.chmod(file)——修改文件权限及时间戳

os.getenv()——读取环境变量

os.putenv()——设置环境变量

os.listdir()——例:os.listdir('c:\\') 返回指定目录下所有文件和目录名

os.remove()——用来删除一个文件 例:os.remove('c:\\test.txt')

os.system()——用来运行Shell命令 例:os.system('date')

os.linesep——返回当前平台使用的行终止符。例:win使用'\r\n' linux使用'\n' mac使用'\r'

os.path.split()——返回一个路径的目录名和文件名

os.path.splitext()——分离扩展名

os.path.basename()——去掉目录路径,返回文件名

os.path.dirname()——去掉文件名,返回目录路径

os.path.isfile()——检验给出的路径是否为文件

os.path.isdir()——检验给出的路径是否为目录

os.path.exists()——检验给出的路径是否真实存在

os.path.isabs(r'c:\python\')——判断是否是绝对路径,否返回FALSE

os.path.islink()——判断是否是链接文件

os.curdir——当前工作目录的字符串名称

os.pardir——父目录字符串名称

os.rename(old,new)——重命名文件

os.path.getsize(file)——返回文件大小

os.path.join()——路径合并,例:os.path.join('c:\\', 'djcode')返回'c:\\djcode'

os.path.walk()——搜索目录下所有文件。返 回一个tuple(dirpath,dirnames,filenames):其中

dirpath是一个string,表示起始路径;dirnames是 一个list,表示起始路径下的所有子目录名称;

filenames也是一个list,表示所有文件名称(不包含路径信息)

 

 

 

### Python 中 `os.path.basename` 的使用方法及示例 `os.path.basename` 是 Python 的 `os` 模块中的一个函数,用于从给定路径中提取文件名或目录名部分。它会去掉路径中的目录部分,仅返回路径的最后一部分[^3]。 #### 函数语法 ```python os.path.basename(path) ``` - **参数**:`path` 是一个字符串,表示文件或目录的路径。 - **返回值**:返回路径中的最后一个组成部分,即文件名或目录名。 #### 示例代码 以下是一些常见的使用示例: ##### 示例 1:获取文件名 当路径指向一个文件时,`os.path.basename` 返回文件名。 ```python import os file_path = "/home/user/documents/file.txt" file_name = os.path.basename(file_path) print(file_name) # 输出: file.txt ``` ##### 示例 2:获取目录名 当路径以斜杠结尾时,`os.path.basename` 返回路径中的最后一个非斜杠部分。 ```python dir_path = "/home/user/documents/" dir_name = os.path.basename(dir_path) print(dir_name) # 输出: documents ``` ##### 示例 3:处理没有目录的文件名 如果路径仅为文件名而不包含任何目录信息,则直接返回该文件名。 ```python simple_file = "file.txt" simple_file_name = os.path.basename(simple_file) print(simple_file_name) # 输出: file.txt ``` ##### 示例 4:处理根目录 对于根目录路径,`os.path.basename` 返回空字符串。 ```python root_path = "/" root_name = os.path.basename(root_path) print(root_name) # 输出: (空字符串) ``` #### 注意事项 - 如果路径以斜杠结尾,则返回的结果会是路径中最后一个非斜杠部分。 - 该函数不会检查路径是否实际存在,仅对字符串进行操作。 - 对于空字符串输入,`os.path.basename` 将返回空字符串。 #### 实际应用 `os.path.basename` 常用于文件处理场景中,例如批量重命名文件、日志记录中提取文件名等。它通常与 `os.path.dirname` 结合使用,以便分离路径中的目录和文件名部分[^2]。 ```python file_path = "/home/user/documents/file.txt" directory = os.path.dirname(file_path) file_name = os.path.basename(file_path) print("Directory:", directory) # 输出: /home/user/documents print("File Name:", file_name) # 输出: file.txt ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值