从完整文件路径中查找文件名

def*_*foo 143 r file path

有没有办法从文件完整路径(文件路径的一部分)中提取文件名而不用操纵字符串的麻烦?

Java中的等价物是:

File f = new File ("C:/some_dir/a")
f.getName() //output a
f.getFullAbsolutePath() //output c:/some_dir/a
Run Code Online (Sandbox Code Playgroud)

mjv*_*mjv 264

使用

basename("C:/some_dir/a.ext")
# [1] "a.ext"
dirname("C:/some_dir/a.ext")
# [1] "C:/some_dir"
Run Code Online (Sandbox Code Playgroud)

  • 我知道`basename()`,但后来我忘记了.这些功能应在[list.files]的"另请参阅"部分中提及(https://stat.ethz.ch/R-manual/R-devel/library/base/html/list.files.html)和[file.path](https://stat.ethz.ch/R-manual/R-devel/library/base/html/file.path.html)帮助页面. (17认同)
  • 是的。我搜索谷歌并大约每周一次偶然发现这个答案。 (2认同)
  • @PaulRougieux 我提交了一个功能请求,这应该包含在即将发布的 R 版本中:) (2认同)

pat*_*t-s 8

tidyverse相当于生活在FS包。{fs} 在幕后使用了libuv

library("fs")

path_file("/some/path/to/file.xyz")
#> [1] "file.xyz"

path_dir("/some/path/to/file.xyz")
#> [1] "/some/path/to"
Run Code Online (Sandbox Code Playgroud)

reprex 包(v0.3.0)于 2020 年 2 月 19 日创建