python os.path

首先看下__file__是什么样

print(__file__)

本机输出为:D:/pycharm/test1/test.py  

可以看出__file__ 输出为当前文件的path

 

os.path.dirname(path)

1、os.path.dirname(__file__)"所在脚本是以完整路径被运行的, 那么将输出该脚本所在的完整路径

2、os.path.dirname(__file__)"所在脚本是以相对路径被运行的, 那么将输出空目录

 

os.path.abspath(path)

输出当前目录的绝对路径,至少有个参数

1、输出当前目录

import os
print(os.path.abspath("./"))

#或者
print(os.path.dirname(os.path.abspath(__file__))) 

os.path.join()函数:

连接两个或更多的路径名组件

                         1.如果各组件名首字母不包含’/’,则函数会自动加上

       2.如果有一个组件是一个绝对路径,则在它之前的所有组件均会被舍弃

       3.如果最后一个组件为空,则生成的路径以一个’/’分隔符结尾

path=os.path.join(dir,"func.py")

输出为

D:/pycharm/test1\func.py

### 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、付费专栏及课程。

余额充值