如何使用xsel获取所选文本 - Python

时间:2011-09-07 11:19:31

标签: python linux selection clipboard

我需要一个python脚本,它将使用xsel在其他应用程序中获取所选文本,然后将其存储在var中。

由于

2 个答案:

答案 0 :(得分:4)

获得要选择的文本后,请运行:

import os

var = os.popen('xsel').read()
print var

答案 1 :(得分:0)

我根据os.popen现在被认为过时的事实添加了一个额外的答案。以下代码来自原始答案(为方便起见,变量命名已更改除外):

out = os.popen("xsel").read()

现在我们使用subprocess.Popen而不是os.popen重写它:

process = subprocess.Popen("xsel", stdout=subprocess.PIPE, universal_newlines=True)
out = process.stdout.read()

可以简化如下:

process = subprocess.Popen("xsel", stdout=subprocess.PIPE, universal_newlines=True)
out, err = process.communicate()

最后最好的:

out = subprocess.check_output("xsel", universal_newlines=True)

universal_newlines选项,虽然名称不建议,但将输入和输出转换为文本字符串而不是字节字符串,这是subprocess.Popen的默认值。