【发布时间】:2014-09-19 23:29:43
【问题描述】:
在 python 中,可以使用以下命令获取 Windows 计算机上桌面的路径:
os.sep.join((os.path.expanduser("~"), "Desktop"))
在 R 中有没有等价的东西?
【问题讨论】:
在 python 中,可以使用以下命令获取 Windows 计算机上桌面的路径:
os.sep.join((os.path.expanduser("~"), "Desktop"))
在 R 中有没有等价的东西?
【问题讨论】:
~ 扩展到您的文档主页,而不是桌面通常所在的用户配置文件。我建议您使用Sys.getenv 来查找您的用户资料:
file.path(Sys.getenv("USERPROFILE"),"Desktop")
【讨论】:
file.path(Sys.getenv("USERPROFILE"),"Desktop",fsep="\\")
类似的东西(就像评论中提到的那样):
file.path(path.expand('~'),'Desktop')
【讨论】:
file.path(dirname(path.expand('~')),'Desktop')。詹姆斯回答仅在您的用户文件夹位于标准位置时才有效
无法对 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)
【讨论】: