python Path模块的使用 glob iglob name

1、获取当前文件及父文件夹的路径

from pathlib import Path

FILE = Path(__file__).resolve()
print('FILE\n', FILE)
ROOT = FILE.parents[0]  # YOLOv5 root directory
print('root\n', ROOT)
# 另一种方法
print('Path.cwd()\n', Path.cwd())

执行结果:

FILE
 /Users/jjw/Desktop/后端项目/yolov5.6/my_test.py
root
 /Users/jjw/Desktop/后端项目/yolov5.6
Path.cwd()
 /Users/jjw/Desktop/后端项目/yolov5.6

2、获取文件的后缀并用小写表示

from pathlib import Path
print(Path('jjw/hello/1.txt').suffix.lower())
print(Path('/jjw/hello/1.txt').suffix.lower())
print(Path('/jjw/hello/1.TXT').suffix)

执行结果:

.txt
.txt
.TXT

3、判断文件是否存在

from pathlib import Path

# 判断给定的文件是否存在  ./MaskDataSet/data.yaml 正确的路径所以打印True
print(Path('./MaskDataSet/data.yaml').is_file())
# 只有路径没有文件所以打印FALSE
print(Path('./MaskDataSet').is_file())
# 不存在的文件,所以打印FALSE
print(Path('./MaskDataSet/111.txt').is_file())

打印结果

True
False
False

4、glob获取文件夹并对其进行路径进行排序

import glob

# 获取当前文件下的runs文件夹下的所有文件夹 需要注意的是返回来的是乱序的
print(glob.glob('./runs/*'))
# 对获取到的文件夹进行排序
print(sorted(glob.glob('./runs/*')))

运行结果:

['./runs/exp0', './runs/exp1', './runs/exp6', './runs/exp3', './runs/exp4', './runs/exp5', './runs/exp2']
['./runs/exp0', './runs/exp1', './runs/exp2', './runs/exp3', './runs/exp4', './runs/exp5', './runs/exp6']

5、iglob 和glob相似,只不过前者返回的是一个迭代器对象,后者返回的是个列表

import glob

# 获取当前文件下的runs文件夹下的所有文件夹 
print(glob.iglob('./runs/*'))
for i in glob.iglob('./runs/*'):
    print(i)
# 对获取到的文件夹进行排序
print(sorted(glob.iglob('./runs/*')))

执行结果:

<generator object _iglob at 0x112369f90>
./runs/exp9
./runs/exp7
./runs/exp0
./runs/exp1
./runs/exp6
./runs/exp8
./runs/exp10
./runs/exp11
./runs/exp3
./runs/exp4
./runs/exp5
./runs/exp2
['./runs/exp0', './runs/exp1', './runs/exp10', './runs/exp11', './runs/exp2', './runs/exp3', './runs/exp4', './runs/exp5', './runs/exp6', './runs/exp7', './runs/exp8', './runs/exp9']

‘Return an iterator which yields the paths matching a pathname pattern’ 源码解释:返回一个迭代器对象,这个对象返回的是匹配到的路径

6、name 属性

from pathlib import Path
print(Path("jjw/1.txt").name)

输出结果;也就是显示文件名称(带后缀)

1.txt
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
path模块Python中用于处理文件路径的模块,它提供了许多有用的方法来处理文件路径。下面是path模块的基本使用方法: 1. 导入path模块 ```python from pathlib import Path ``` 2. 创建Path对象 可以使用以下方法来创建Path对象: ```python # 创建当前工作目录的Path对象 path = Path() # 创建指定路径的Path对象 path = Path('/path/to/file') ``` 3. 获取文件名、文件后缀名、父目录路径等信息 可以使用以下方法来获取文件名、文件后缀名、父目录路径等信息: ```python # 获取文件名 file_name = path.name # 获取文件后缀名 file_suffix = path.suffix # 获取父目录路径 parent_path = path.parent ``` 4. 判断文件或目录是否存在 可以使用以下方法来判断文件或目录是否存在: ```python # 判断文件或目录是否存在 if path.exists(): print('文件或目录存在') else: print('文件或目录不存在') ``` 5. 创建目录 可以使用以下方法来创建目录: ```python # 创建目录 path.mkdir() ``` 6. 删除文件或目录 可以使用以下方法来删除文件或目录: ```python # 删除文件或目录 path.unlink() ``` 7. 遍历目录 可以使用以下方法来遍历目录: ```python # 遍历目录中的所有文件和子目录 for sub_path in path.iterdir(): print(sub_path) # 遍历目录中的所有文件 for file_path in path.glob('*.txt'): print(file_path) ``` 这些是path模块的基本使用方法,还有更多高级用法可以参考官方文档。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值