Motivation
利用tensorflow进行读写时,经常因为没有创建相应的文件夹而导致保存weights/models/log等失败,加载时也容易产生错误,为了避免这种错误,在自己的框架中需要实现如下功能: 在按路径读写时,如果找不到相应的路径,需要程序自动创建文件夹,并进行数据的保存。
实现
def make_dir(path
: str):
pos
= path
.rfind
(os
.sep
)
if pos
< 0:
raise Exception
('Can not find the directory from the path', path
)
path
= path
[:pos
]
os
.makedirs
(path
, exist_ok
=True)
代码理解
os.sep
从系统变量中取系统分隔符,linux/mac 返回’ / ’ ,windows 返回 ’ \ '。
path.rfind( char )
path是路径的字符串(str),返回char最后出现的位置(从左往右),如果没有匹配,返回-1
path = path[: pos]
提取出需要创建文件夹的路径
os.makedirs(path, exist_ok = True)
创建文件夹