【问题标题】:Find the desktop path in R在R中找到桌面路径
【发布时间】:2014-09-19 23:29:43
【问题描述】:

在 python 中,可以使用以下命令获取 Windows 计算机上桌面的路径:

os.sep.join((os.path.expanduser("~"), "Desktop"))

在 R 中有没有等价的东西?

【问题讨论】:

    标签: r path desktop


    【解决方案1】:

    ~ 扩展到您的文档主页,而不是桌面通常所在的用户配置文件。我建议您使用Sys.getenv 来查找您的用户资料:

    file.path(Sys.getenv("USERPROFILE"),"Desktop")
    

    【讨论】:

    • 如何获取R风格的路径?这将返回“C:\\Users\\Owner/Desktop”
    • file.path(Sys.getenv("USERPROFILE"),"Desktop",fsep="\\")
    【解决方案2】:

    类似的东西(就像评论中提到的那样):

    file.path(path.expand('~'),'Desktop')
    

    【讨论】:

    • Windows 似乎将“~”翻译成“/Users//Documents”而不是“/Users/”。
    • 这对我有用:file.path(dirname(path.expand('~')),'Desktop')。詹姆斯回答仅在您的用户文件夹位于标准位置时才有效
    【解决方案3】:

    无法对 James 的答案添加评论,所以这里有另一个答案。

    在终端服务器网络上:

    file.path(Sys.getenv("USERPROFILE"),"Desktop") 给了我错误的结果

    file.path(Sys.getenv("HOMESHARE"),"Desktop") 给了我正确的结果

    在我的本地机器上,情况正好相反。我还没有找到适用于这两种环境的解决方案。

    编辑添加

    好的,根据我在评论中提供的链接,这有点混乱。 Windows 专家可能会做得更好,但我认为这在两种环境中都适用,并且应该能够抵御桌面路径的变化。

    创建一个VBscript文件返回桌面路径:getDesk.vbs

    dim WSHShell, desktop, pathstring, objFSO
    set objFSO=CreateObject("Scripting.FileSystemObject")
    Set WSHshell = CreateObject("WScript.Shell")
    desktop = WSHShell.SpecialFolders("Desktop")
    pathstring = objFSO.GetAbsolutePathName(desktop)
    WScript.Echo pathstring
    

    现在在 R 中,您可以执行 VBscript 以返回桌面路径

    system("cscript //nologo getDesk.vbs", intern=TRUE)
    

    【讨论】:

    猜你喜欢
    • 2012-03-07
    • 1970-01-01
    • 1970-01-01
    • 2018-09-02
    • 1970-01-01
    • 2021-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多