Windows系统下如何用R实现类似双击的文件打开功能?
在Windows系统中用R实现双击式文件打开功能
当然可以,R里虽然没有直接的file.open()函数,但有几种方法能实现和双击文件一样的效果——调用系统默认关联程序打开目标文件:
方法1:使用shell.exec()函数
这是Windows环境下R内置的最直接的方法,它会调用系统中对应文件类型的默认程序打开文件,和双击操作完全一致。
示例代码:
# 打开指定路径的文本文件 shell.exec("C:/Users/xxx/Documents/test.txt") # 如果路径包含空格,直接写带引号的路径也可以 shell.exec('"C:/Users/xxx/Documents/my report.docx"')
方法2:调用Windows的start命令
通过shell()函数调用系统的start命令,同样能唤起默认程序。注意如果文件路径包含空格,需要给路径套一层双引号,并且start后面要加一个空的双引号(避免把文件名识别为窗口标题)。
示例代码:
# 打开Excel文件 shell('start "" "C:/Users/xxx/Desktop/data.xlsx"') # 打开图片文件 shell('start "" "C:/Users/xxx/Pictures/photo.jpg"')
注意区分:file.show()的差异
别把file.show()和上面的方法搞混,file.show()是在R自带的文件查看器里打开文件,而不是调用系统默认的程序(比如不会用记事本打开txt,而是在R的窗口里显示),不符合双击打开的需求。
内容的提问来源于stack exchange,提问作者WCMC
相关产品推荐
相关产品推荐

