Erlang创建目录

发布于 2024-10-13 16:03:51 字数 224 浏览 1 评论 0原文

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

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

我找到了解决方案。也许有人会很有趣:

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

谢谢。

I need create subdirectory in specific directory.

In erlang docs i find only file:make_dir/1 which create dir in the project source dir. How can i create directory in other dir?

I find solution. Maybe it will be interesting somebody:

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

Thank you.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

帅哥哥的热头脑 2024-10-20 16:03:51

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

示例:

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

参考文献:

You can ensure that a directory exists (and create it if it doesn't, which is what you're looking for) using filelib:ensure_dir.

Example:

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

References:

所谓喜欢 2024-10-20 16:03:51

文档一定不清楚,因为您可以使用 file:make_dir/1 创建您通常允许创建的任何目录。它不会创建路径中的所有目录,您必须自己明确地执行此操作。

使用 filelib:ensure_dir/1 与以 "/" 终止的路径没有记录,但它在代码中明确处理,所以我怀疑它会消失。

The documentation must have been unclear as you can use file:make_dir/1 to create any directory which you would normally be allowed to create. It does not create all directories in the path, this you have to do explicitly yourself.

Using filelib:ensure_dir/1 with a path terminated by "/" is not documented but it is explicitly handled in the code so I doubt that it will go away.

撩起发的微风 2024-10-20 16:03:51

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

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.

This will create a subdirectory and confirm or create any parent directories needed

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.
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文