赵灵越 2024-03-21 12:27 采纳率: 99.3%
浏览 8
已结题

怎么用sh写一个监控 安卓手机的 剪切板内容,python也行,经常需要在手机上面到处复制文字

sh代码
监控剪切板
并复制保存txt和excel
安卓手机
保存格式
表头
编号 内容 时间

/storage/emulated/0/文件/关于自动化/监控剪切板/

这个代码在高级终端或者qpython上面根本就不能够用,回车不动停止,没有创建文件

import time
import subprocess
from openpyxl import Workbook

# 创建一个空的Excel文件
wb = Workbook()
ws = wb.active
ws.append(['编号', '内容', '时间'])

def get_clipboard_content():
    result = subprocess.run(['termux-clipboard-get'], capture_output=True, text=True)
    return result.stdout.strip()

while True:
    # 监控剪贴板内容
    new_clipboard_content = get_clipboard_content()
    
    # 如果剪贴板内容发生变化,则记录到Excel文件中
    if len(new_clipboard_content) > 0 and new_clipboard_content != ws.cell(row=ws.max_row, column=2).value:
        row = [ws.max_row, new_clipboard_content, time.strftime('%Y-%m-%d %H:%M:%S')]
        ws.append(row)
        
        # 保存Excel文件
        wb.save('/storage/emulated/0/文件/关于自动化/监控剪切板/clipboard_data.xlsx')
    
    # 每隔1秒检查一次剪贴板内容
    time.sleep(1)
  • 写回答

3条回答 默认 最新

  • 阿里嘎多学长 2024-03-21 12:39
    关注

    以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:


    首先,确保你在Android设备上使用的是支持Python和相关库(如openpyxl)的环境,例如QPython。如果你遇到问题,可能是因为termux-clipboard-get命令在你的环境中不可用,或者你没有正确安装openpyxl库。

    这里有一个使用Python和pexpect库(用于在Termux中运行命令)的替代方案。首先,确保安装了pexpect库(在Termux中运行pkg install pexpect)。

    以下是一个修改后的Python脚本,应该能在Termux或QPython中运行:

    import time
    import pexpect
    from openpyxl import Workbook
    
    # 创建一个空的Excel文件
    wb = Workbook()
    ws = wb.active
    ws.append(['编号', '内容', '时间'])
    
    def get_clipboard_content():
        child = pexpect.spawn('termux-clipboard-get')
        index = child.expect(['^C', ''])
        clipboard_content = child.before.decode().strip()
        child.close()
        return clipboard_content
    
    while True:
        # 监控剪贴板内容
        new_clipboard_content = get_clipboard_content()
        
        # 如果剪贴板内容发生变化,则记录到Excel文件中
        if len(new_clipboard_content) > 0 and new_clipboard_content != ws.cell(row=ws.max_row, column=2).value:
            row = [ws.max_row, new_clipboard_content, time.strftime('%Y-%m-%d %H:%M:%S')]
            ws.append(row)
            
            # 保存Excel文件
            wb.save('/storage/emulated/0/文件/关于自动化/监控剪切板/clipboard_data.xlsx')
        
        # 每隔1秒检查一次剪贴板内容
        time.sleep(1)
    

    请尝试运行这个脚本,看看是否可以正常工作。如果仍然存在问题,请确保你的环境配置正确,并且具有必要的权限来读取剪贴板和写入文件。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 4月5日
  • 已采纳回答 3月28日
  • 修改了问题 3月21日
  • 创建了问题 3月21日

悬赏问题

  • ¥20 ic卡dump文件校检码解密
  • ¥15 关于:接收到的数据不是有效的JSON格式
  • ¥15 apdl语言如何增加受力分析
  • ¥15 算法对比:学校优化算法与蚁群算法对比
  • ¥15 机电一体化系统设计说明书
  • ¥20 sgy数据提取地震波速,有人能回答吗小馋
  • ¥20 c#实现打开word的功能,并且需要安装成windows服务,word打不开怎么办
  • ¥15 python用ARIMA时间预测模型预测数据出错,急!
  • ¥30 为什么后端传给前端vue的河流json数据不在地图中显示出来
  • ¥50 关于弹性波动方程求解的问题: