当前位置: 首页 > 面试题库 >

有没有一种方法可以直接将python输出发送到剪贴板?

翟青青
2023-03-14
问题内容

例如,如果python脚本将在运行脚本后吐出一个字符串,提供我要立即编辑的新编写文件的路径,那么将其直接发送到系统剪贴板而不是会很好STDOUT


问题答案:

您可以使用外部程序xsel

from subprocess import Popen, PIPE
p = Popen(['xsel','-pi'], stdin=PIPE)
p.communicate(input='Hello, World')

使用xsel,您可以设置要使用的剪贴板。

  • -pPRIMARY选择一起使用。那是中键。
  • -sSECONDARY选择一起使用。我不知道是否再使用了。
  • -bCLIPBOARD选择一起使用。那是你的Ctrl + V

在这里和这里阅读有关X剪贴板的更多信息。

我创建的一个快速而肮脏的函数来处理此问题:

def paste(str, p=True, c=True):
    from subprocess import Popen, PIPE

    if p:
        p = Popen(['xsel', '-pi'], stdin=PIPE)
        p.communicate(input=str)
    if c:
        p = Popen(['xsel', '-bi'], stdin=PIPE)
        p.communicate(input=str)

paste('Hello', False)    # pastes to CLIPBOARD only
paste('Hello', c=False)  # pastes to PRIMARY only
paste('Hello')           # pastes to both

您也可以尝试pyGTK的clipboard

import pygtk
pygtk.require('2.0')
import gtk

clipboard = gtk.clipboard_get()

clipboard.set_text('Hello, World')
clipboard.store()

这适用Ctrl + V于我的选择。



 类似资料:
  • 问题内容: 我希望python程序在Mac剪贴板中放置一些文本。 这可能吗? 问题答案: 新答案: 该页面建议: 所有Mac OS X版本的实施 另一个Mac模块(清单4中的MacSharedClipboard.py)在名为pbcopy(将文本复制到剪贴板)和pbpaste(将剪贴板中的任何文本粘贴)的两个命令行程序之上实现剪贴板界面。前缀“ pb”代表“粘贴板”,Mac在剪贴板中是术语。 旧答案

  • 我有一些用python编写的selenium代码,但问题是selenium总是在程序开始时打印出这个输出 由于我的电脑不支持蓝牙,我也得到了以下输出: 有没有办法只消除硒的产量?

  • 问题内容: 使用终端时,如何将命令的输出传递到剪贴板中并粘贴回去?例如: 问题答案: 我一直想做到这一点,并找到了一种很好而简单的方法。我写下了完整的程序,以防万一其他人需要它。 首先安装一个名为16 kB的程序: 然后,您可以通过管道将输出复制到剪贴板: 要粘贴刚复制的文本,应使用: 为了简化生活,您可以像我一样在.bashrc文件中设置别名: 要了解它的用处,想象一下我想在一个新的终端窗口中打

  • 问题内容: 如标题所述,是否有一种简单的方法可以将两列输出到Java中的控制台? 我知道,但是在使用printf时,我还没有找到基于特定列进行空间分配的方法。 问题答案: 使用宽度和精度说明符,将其设置为相同的值。这将填充太短的字符串,并截断太长的字符串。“-”标志将使列中的值左对齐。

  • 我在循环后连接了一个DB查询的结果列表,得到了预期的输出,但值之间没有任何分隔符: 有没有办法在值中添加一个换行分隔符以获得漂亮的打印效果?比如: 或 或

  • 问题内容: 我们有一个SQL联系人数据库,可以无数次链接到我们所有的项目信息中。 最近建议我们将这些信息的联系人部分提供给最终用户的电子邮件客户端,因此我们正在考虑设置LDAP服务器。 有没有可以让我们将数据库中的信息(可能是我怀疑的视图)映射到LDAP服务器的信息? 问题答案: OpenLDAP支持使用back- sql 由元数据驱动的SQL后端。测试的状态因您选择的RDBMS后端而异。