如何获得Elixir中文件的大小?
给定磁盘上文件的路径,以字节为单位检索文件大小的最惯用方法是什么如何获得Elixir中文件的大小?,elixir,Elixir,给定磁盘上文件的路径,以字节为单位检索文件大小的最惯用方法是什么 path = "/tmp/some_file.txt" 这在Elixir中通过使用文件模块中的内置stat功能实现;在这里,我将谈论两个:和 这两个函数都会为其“值”返回一个%File.Stat{}结构,然后通过模式匹配对其进行分解,以提取包含文件大小(以字节为单位)的size字段。这些函数仅在1)返回和2)处理异常(例如未找到文件)的方式上有所不同 用于引发异常的文件大小检查(file.Error): 用于文件大小检查,以优雅
path = "/tmp/some_file.txt"
这在Elixir中通过使用
文件
模块中的内置stat
功能实现;在这里,我将谈论两个:和
这两个函数都会为其“值”返回一个%File.Stat{}
结构,然后通过模式匹配对其进行分解,以提取包含文件大小(以字节为单位)的size
字段。这些函数仅在1)返回和2)处理异常(例如未找到文件)的方式上有所不同
用于引发异常的文件大小检查(file.Error
):
用于文件大小检查,以优雅地处理异常并返回错误元组:
iex(1)> case File.stat path do
...(1)> {:ok, %{size: size}} -> size
...(1)> {:error, reason} -> ... # handle error
...(1)> end
1562
N.B:在处理符号链接时,还有一些处理方式稍有不同的函数值得了解:&
iex(1)> case File.stat path do
...(1)> {:ok, %{size: size}} -> size
...(1)> {:error, reason} -> ... # handle error
...(1)> end
1562