You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux下如何用Python读取xdotool按ctrl+c复制的剪贴板内容并存入列表

解决方案

Linux X11环境下无需安装Python第三方剪贴板模块,直接调用系统自带的xclip工具即可读取剪贴板内容,配合Python标准库subprocess就能实现需求,完整实现逻辑如下:

  1. 原有发送ctrl+c的代码后增加微小延时,确保系统完成复制操作,避免读取到旧的剪贴板数据
  2. 调用subprocess.run执行xclip命令读取剪贴板内容
  3. 清洗读取结果后存入列表,同时打印输出

完整代码示例

import time
import subprocess
from xdo import Xdo

def getclip(self):
    xdo = Xdo()
    key = "ctrl+c"
    xdo.send_keysequence_window(0, key.encode())
    # 等待复制操作完成,可根据实际情况调整延时时长
    time.sleep(0.1)
    
    # 调用xclip读取剪贴板内容,对应ctrl+c复制的选区
    proc = subprocess.run(
        ["xclip", "-selection", "clipboard", "-o"],
        capture_output=True,
        text=True,
        check=False
    )
    
    # 去除内容首尾的换行、空白字符
    copied_url = proc.stdout.strip()
    # 存入Python列表,如需累计存储多个URL可将列表定义在函数外部使用append方法
    url_list = [copied_url]
    
    # 控制台打印读取到的内容
    print(f"复制的URL为:{copied_url}")
    return url_list

注意事项

  • 若系统未预装xclip,可通过对应发行版的包管理器安装:
    • Debian/Ubuntu 系列:sudo apt install xclip
    • RHEL/CentOS/Fedora 系列:sudo dnf install xclip
  • 若使用Wayland桌面环境,将xclip相关命令替换为["wl-paste"]即可
  • 若需要同时存储多次复制的URL,把列表初始化逻辑移到函数外部,每次调用函数时执行url_list.append(copied_url)即可

内容的提问来源于stack exchange,提问作者qagourab

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 07:54:03