Erlang创建目录

Erlang创建目录,erlang,directory,Erlang,Directory,我需要在特定目录中创建子目录 在erlang文档中,我只找到一个文件:make_dir/1,它在项目源目录中创建目录。如何在其他目录中创建目录 我找到了解决办法。也许有人会感兴趣: filelib:ensure_dir("/this/path/will/soon/exist/"). 谢谢。您可以使用filelib:sure_dir确保目录存在(如果不存在,则创建它,这就是您要查找的) 例如: filelib:ensure_dir("/this/path/will/soon/exist

我需要在特定目录中创建子目录

在erlang文档中,我只找到一个文件:make_dir/1,它在项目源目录中创建目录。如何在其他目录中创建目录

我找到了解决办法。也许有人会感兴趣:

filelib:ensure_dir("/this/path/will/soon/exist/").

谢谢。

您可以使用
filelib:sure_dir
确保目录存在(如果不存在,则创建它,这就是您要查找的)

例如:

filelib:ensure_dir("/this/path/will/soon/exist/")
参考资料:

  • 文件

文档必须不清楚,因为您可以使用
文件:make_dir/1
创建通常允许创建的任何目录。它不会创建路径中的所有目录,这需要您自己明确地完成


使用
filelib:确保没有记录路径以
“/”
结尾的\u dir/1
,但它在代码中被显式处理,因此我怀疑它是否会消失。

这将创建一个子目录,并确认或创建所需的任何父目录

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.

不确定“/”错误是否仍然存在,但请确保在路径的末尾添加斜杠,否则它将不起作用(至少在旧版本中是这样)。@Mazen Harake:将其添加到答案中只是为了安全。