magic_path {xfun}R Documentation

Find a file or directory under a root directory

Description

Given a path, try to find it recursively under a root directory. The input path can be an incomplete path, e.g., it can be a base filename, and magic_path() will try to find this file under subdirectories.

Usage

magic_path(
  ...,
  root = proj_root(),
  relative = TRUE,
  error = TRUE,
  message = getOption("xfun.magic_path.message", TRUE),
  n_dirs = getOption("xfun.magic_path.n_dirs", 10000)
)

Arguments

...

A character vector of path components.

root

The root directory under which to search for the path. If NULL, the current working directory is used.

relative

Whether to return a relative path.

error

Whether to signal an error if the path is not found, or multiple paths are found.

message

Whether to emit a message when multiple paths are found and error = FALSE.

n_dirs

The number of subdirectories to recursively search. The recursive search may be time-consuming when there are a large number of subdirectories under the root directory. If you really want to search for all subdirectories, you may try n_dirs = Inf.

Value

The path found under the root directory, or an error when error = TRUE and the path is not found (or multiple paths are found).

Examples

## Not run: 
xfun::magic_path("mtcars.csv")  # find any file that has the base name mtcars.csv

## End(Not run)

[Package xfun version 0.46 Index]