如何在 Julia 中无异常地检查文件是否存在?

log*_*ick 3 julia

如何使用 Julia 查看文件是否存在且没有异常?我想确保如果由于某种原因我尝试打开的文件无法访问、已被删除或不存在,我的程序不会崩溃。

log*_*ick 5

有两种简单的方法可以做到这一点。

第一的:

println(isfile("Sphere.jl"))
false
Run Code Online (Sandbox Code Playgroud)

isfile()函数将简单地检查文件是否存在。注意:如果Sphere.jl不在您当前的文件路径中,您需要提供访问该文件的绝对路径。

第二(更多的是火审的例子):

try
    open("Sphere.jl", "w") do s
        println(s, "Hi")
    end
catch
    @warn "Could not open the file to write."
end

Run Code Online (Sandbox Code Playgroud)

第二个示例使用 try-catch 模式。对于您的程序来说,最好不要处理错误,因此建议您使用,isfile()除非您必须在您的用例中使用 try-catch。

值得注意的是,在某些情况下,文件可能存在,但无法写入(即它被操作系统锁定)。在这种情况下,尝试编写时使用 try-catch 是一个不错的选择。