(1)os 库os.path 和 pathlib.Path 相似,但是后者简化了很多 *** 作,有很多前者没有的优点。
os 模块提供了非常丰富的方法用来处理文件和目录。
Python基础教程,链接直达:Python OS 文件/目录方法 | 菜鸟教程 (runoob.com)
其中,os.path() 模块使用频率最高,通常用来获取文件的属性,里面有很多函数,本文仅此介绍:
- os.path.join() # 路径合成
- os.path.split() # 路径分割
该模块提供了表示文件系统路径的类,这些类具有适用于不同 *** 作系统(Window、Linux、macOS)的语义。
(3)代码示例(含注释)获取绝对路径或者相对路径的组成部分:
- # .name 文件名,包含后缀名,如果是目录则获取目录名
- # .stem 文件名,不包含后缀
- # .suffix 图像后缀(格式)
- # .parent 父级目录
- # .parents 所有的父级目录
- # .anchor 锚,目录前面的部分,绝对路径(C:\)或者相对路径(/)
import os
import cv2
from pathlib import Path
files_path = "demo1"
out_path = "demo_out/"
# 遍历所有文件
files = os.listdir(files_path)
for i, file in enumerate(files):
print(file)
img = os.path.join(files_path, file) # 把目录和文件名合成一个路径
image = cv2.imread(img)
# image = cv2.imread("{}/{}".format(files_path, str(file)))
cv2.imwrite(out_path + file, image)
image_path = r"G:\CSDN\python\Office_skills\path\demo1.png"
# 把路径分割成 dirname 和 basename,返回一个元组
split_path = os.path.split(image_path)
print(split_path)
# .name 文件名,包含后缀名,如果是目录则获取目录名
# .stem 文件名,不包含后缀
# .suffix 图像后缀(格式)
# .parent 父级目录
# .parents 所有的父级目录
# .anchor 锚,目录前面的部分,绝对路径(C:\)或者相对路径(/)
path = Path(image_path)
print(type(path))
print(path)
print(path.name)
print(path.stem)
print(path.suffix)
print(list(path.parents)) # 列表形式
print(path.anchor)
# 读取并保存图像
image1 = cv2.imread(image_path)
save_path = out_path + path.name
cv2.imwrite(save_path, image1)
>>>路径结构:
>>>如有疑问,欢迎评论区一起探讨
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)