Znajdź nazwę pliku na podstawie pełnej ścieżki do pliku

156

Czy istnieje sposób na wyodrębnienie nazwy pliku z pełnej ścieżki pliku (części ścieżki pliku) bez kłopotów z manipulowaniem ciągiem?

Odpowiednik w Javie wyglądałby tak:

File f = new File ("C:/some_dir/a")
f.getName() //output a
f.getFullAbsolutePath() //output c:/some_dir/a
defoo
źródło

Odpowiedzi:

286

Posługiwać się

basename("C:/some_dir/a.ext")
# [1] "a.ext"
dirname("C:/some_dir/a.ext")
# [1] "C:/some_dir"
mjv
źródło
21
Wiedziałem o tym basename(), ale zapomniałem. Funkcje te powinny być wymienione w sekcji „Zobacz także” z list.files i file.path stronach pomocy.
Paul Rougieux,
6

Odpowiednik tidyverse znajduje się w pakiecie fs . {fs} używa libuv pod maską.

library("fs")

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

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

Utworzony 2020-02-19 przez pakiet reprex (v0.3.0)

pat-s
źródło