Mac系统中使用R打开docx文件失败,寻求可行解决方案
在Mac的R环境中打开文件的解决方案
核心方法:调用系统open命令
Mac系统自带的open命令会调用默认关联应用打开任意类型文件(包括docx、.command),在R里可通过以下两种方式执行:
方式1:使用system()函数
直接传入拼接好的命令,路径含空格时需加引号:
# 路径无空格 system("open /path/to/your/file.docx") # 路径含空格 system("open \"/path/with spaces/your file.docx\"")
方式2:使用system2()函数(更安全)
将命令和参数分开传递,无需手动处理路径转义:
# 路径无空格 system2("open", args = "/path/to/your/file.docx") # 路径含空格也无需额外处理 system2("open", args = "/path/with spaces/your file.docx")
之前方法失败的原因
file.show():该函数仅用于查看文本类文件内容,会把docx这类二进制文件当作文本处理,因此触发保存操作。shell.exec():属于Windows专属函数,Mac环境不支持。- 直接用
system2("文件路径"):Mac系统不会将文件路径识别为可执行命令,必须通过open命令触发默认应用。
针对.command文件的额外提示
若要执行.command脚本,可先添加执行权限(未添加时):
# 添加执行权限 system("chmod +x /path/to/your/script.command") # 打开执行 system("open /path/to/your/script.command")
内容的提问来源于stack exchange,提问作者bash-asker
相关产品推荐
相关产品推荐

