file-io - Elixir:写入文件并创建父目录(如果不存在)-一行

标签 file-io elixir

Elixir中是否有以下功能:

  • 将内容写入给定的文件路径(或创建文件)
  • 创建父目录,如果不存在

  • 目前,我已经写了一个像这样的函数,尽管它相当
    不方便为我要写入文件的每个项目编写此文件
    他们的 parent 可能还不存在。

    defp write_to_file(path, contents) do
      with :ok <- File.mkdir_p(Path.dirname(path)),
           :ok <- File.write(path, contents)
      do
        :ok
      end
    end
    

    最理想的情况是这样的东西作为Elixir标准库的一部分存在,但是我找不到这样的东西

    File.write(path, content, create_parents: true)
    

    最佳答案

    standard library中没有类似的内容。尽管为什么不这样做:

    File.mkdir_p!(Path.dirname(path))
    File.write(path, contents)
    

    但是,如果您想传递mkdir的错误,则可以将代码简化如下:

    with :ok <- File.mkdir_p(Path.dirname(path)) do
      File.write(path, contents)
    end
    

    关于file-io - Elixir:写入文件并创建父目录(如果不存在)-一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53877076/

    相关文章:

    file-io - 我可以保存到特定文件夹吗?

    java - 在java中的文本文件上创建一个简单的索引

    android - Xamarin Android 文件系统路径

    elixir - Phoenix中渲染函数的区别

    java - 使用JSP从本地文件系统读取文件

    c# - "Copy if newer"文件更新时为什么不复制文件?

    mysql - Ecto 不允许使用片段参数进行 mysql 全文搜索

    unicode - 在 Elixir 中计算字符串中的代码点

    apache2 - 如何在 Apache 后面配置 Phoenix 框架

    unicode - 如何将 Unicode 代码点转换为 Unicode 字符串?