我需要在特定目录中创建子目录。在Erlang文档中,我只找到文件make_dir/1,它在项目源目录中创建目录。我如何在其他目录中创建目录?"我找到了解决办法,也许有人会感兴趣“
filelib:ensure_dir("/this/path/will/soon/exist/").
wa7juj8i1#
使用filelib:ensure_dir可以确保目录存在(如果不存在,则创建它,这正是您要查找的)。示例:
filelib:ensure_dir
filelib:ensure_dir("/this/path/will/soon/exist/")
参考文献:
dvtswwa32#
文档可能不清楚,因为你可以使用file:make_dir/1来创建你通常可以创建的任何目录。它不会创建路径中的所有目录,这必须你自己明确地完成。使用filelib:ensure_dir/1和以"/"终止的路径没有文档记录,但是它在代码中被显式处理,所以我怀疑它会消失。
file:make_dir/1
filelib:ensure_dir/1
"/"
relj7zay3#
这将创建一个子目录,并确认或创建所需的任何父目录
make_dir(Dir) -> % create or confirm the parent Dir exists (works recursively) ok = filelib:ensure_dir(Dir), % create or confirm Dir exists case file:make_dir(Dir) of ok -> ok; {error, eexist} -> ok; {error, Reason} -> {error, Reason} end.
3条答案
按热度按时间wa7juj8i1#
使用
filelib:ensure_dir
可以确保目录存在(如果不存在,则创建它,这正是您要查找的)。示例:
参考文献:
dvtswwa32#
文档可能不清楚,因为你可以使用
file:make_dir/1
来创建你通常可以创建的任何目录。它不会创建路径中的所有目录,这必须你自己明确地完成。使用
filelib:ensure_dir/1
和以"/"
终止的路径没有文档记录,但是它在代码中被显式处理,所以我怀疑它会消失。relj7zay3#
这将创建一个子目录,并确认或创建所需的任何父目录