【问题标题】:What does the recursive argument mean in dir.create?dir.create 中的递归参数是什么意思?
【发布时间】:2021-08-01 12:25:41
【问题描述】:

我正在尝试使用 dir.create() 函数来创建嵌套文件夹“folder2”和“folder3”。

解决办法是:

dir.create(file.path("folder2", "folder3"), recursive = TRUE)

编辑:?dir.create的解释是

递归合乎逻辑。是否应该创建除最后一个以外的路径元素?如果为真,如 Unix 命令 mkdir -p。

递归属性的作用是什么?

【问题讨论】:

  • StackOverflow 上没有“线程”的概念。每个帖子只解决一个特定问题,因此为您的问题创建一个新帖子是正确的方法。

标签: r directory subdirectory


【解决方案1】:

从你的问题中的'mkdir -p'中提取,并解释here

如果您的 'folder2' 包含父文件夹,则需要先创建这些文件夹,否则 create 函数将无法在路径末尾创建最终文件(没有地方可以放置它,因为完整路径还不存在)。

假设“文件夹 2”是“a/b/c/”。要创建文件夹“c”,您首先需要创建文件夹“b”。但是对于'b',你首先需要'a'。所以所有的parent文件夹都需要在最终的child文件夹(或文件)之前创建。

'recursion' 指的是'逐步重复一遍又一遍'。 [先做'a',然后是'b',最后是'c']

【讨论】:

    【解决方案2】:

    假设您的工作目录中有一个Temp 文件夹。如果你想在Temp的文件夹内创建文件夹。

    dir.create('Temp/A/B/')
    

    这将失败,因为文件夹 A 不存在。然而,

    dir.create('Temp/A/B/', recursive = TRUE)
    

    将工作并在文件夹 A 内创建一个文件夹 B

    【讨论】:

    • 这让我很清楚。然而它也提出了一个想法:为什么递归选项完全可以更改为 FLASE。但也许我会在我更熟悉 R 后了解这一点。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-10-17
    • 1970-01-01
    • 2012-07-07
    • 1970-01-01
    • 1970-01-01
    • 2013-07-07
    • 2014-02-18
    相关资源
    最近更新 更多