如何用xsel – Python获取选定的文本

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

谢谢

一旦你有你想要选择的文本,运行这个:

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

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

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

现在我们使用os.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的默认值。