如何检查文件是否存在

iwa*_*wan 221 ruby file

是否有一个Ruby类/方法,我可以传递"完整路径" home/me/a_file.txt,以确定它是否是一个有效的文件路径?

zed*_*xff 559

# file? will only return true for files
File.file?(filename)
Run Code Online (Sandbox Code Playgroud)

# Will also return true for directories - watch out!
File.exist?(filename)
Run Code Online (Sandbox Code Playgroud)

  • 只是File.file?应该够了,不是吗?文档:"如果指定的文件存在且是常规文件,则返回true" (11认同)
  • 抱歉克里斯你错了是真的假=>假`>> File.file?('/ etc/passwd')=> true >> File.file?('/ etc /')=> false >> File.exists ?('/ etc /')=> true >> File.exists?('/ etc/passwd')=> true >> File.file?('/ etc/passwd')和File.exists?('/ etc/passwd中')` (3认同)
  • @MarkDavies我不是垃圾邮件,但是这个词已被弃用。/sf/ask/644566401/ (3认同)

Pau*_*ley 54

查看路径名,特别是Pathname#exist?.

File及其FileTest模块可能更简单/更直接,但我发现Pathname一般的界面更好.