> x <- 1:10 > dput(x,'clipboard') Error in file(file,"wt") : 'mode' for the clipboard must be 'r' on Unix
如何写入剪贴板/主要选择?
请注意,我已经看到了this old R-Help post,但我还不清楚我应该做什么。
Linux does not have a clipboard but an X11 session has primary and
secondary selections. ?file saysClipboard:
06001
so RTFM applied. Writing to an X11 selection needs multiple threads
and I did not think it worth the very considerable effort of
implementing (unlike for Windows).Note that window managers may have other clipboards,and for example
the RGtk2 package has interfaces to gtk clipboards.
>安装xclip:sudo apt-get install xclip
>阅读手册:man xclip
>写入X中的X11初级:write.table(1:10,pipe(“xclip -i”,“w”))
更新:
请注意,在管道关闭之前,传递给write.table的对象将不会存在于剪贴板中。可以通过调用gc()强制管道关闭。例如:
write.table(1:10,pipe("xclip -i","w")) # data may not be in clipboard gc() # data written to primary clipboard
管理连接的更好方法是使用on.exit(close(con))的函数,即使write.table调用会引发错误,也将关闭管道。请注意,您需要确保根据系统设置写入您要使用的剪贴板(主要是默认的)。
write.xclip <- function(x,selection=c("primary","secondary","clipboard"),...) { if (!isTRUE(file.exists(Sys.which("xclip")[1L])) stop("Cannot find xclip") selection <- match.arg(selection)[1L] con <- pipe(paste0("xclip -i -selection ",selection),"w") on.exit(close(con)) write.table(x,con,...) }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。