Mac下用python操作剪切板
来源:互联网 发布:windows10 mac地址 编辑:程序博客网 时间:2024/06/05 05:38
翻译论文时发现有些论文直接复制过来会包含很多换行符,写了个小方法处理下:去除剪切板原内容的换行符并覆盖。
import osimport subprocess#将当前剪切板的内容输出到m.txt文件里并用Python读取os.system("pbpaste > m.txt")f = open('m.txt','r')txt=f.read()#去除换行符和回车符txt=txt.strip().replace('\r\n',' ').replace('\r',' ').replace('\n',' ')f.close()print(txt)#将新内容拷贝至Mac系统的剪切板p1=subprocess.Popen(["echo", txt], stdout=subprocess.PIPE)subprocess.Popen(["pbcopy"], stdin=p1.stdout)
注1:与上一篇在Windows下用Python操作剪切板不同,这个可以处理中文不会乱码
注2:这个方法会额外创建一个m.txt,请根据自己的需要换成其他名字防止覆盖重要文件。用这个方法是因为它简单,代码行数少,无需安装第三方包,且本人暂时想不出其他优雅的方法,希望有人能指正。
更新:
此方法无需额外创建文本
import subprocessdef getClipboardData(): p = subprocess.Popen(['pbpaste'], stdout=subprocess.PIPE) retcode = p.wait() data = p.stdout.read() #这里的data为bytes类型,之后需要转成utf-8操作 return datadef setClipboardData(data): p = subprocess.Popen(['pbcopy'], stdin=subprocess.PIPE) p.stdin.write(data) p.stdin.close() p.communicate()txt=str(getClipboardData(),'utf-8')txt=txt.strip().replace('\r\n',' ').replace('\r',' ').replace('\n',' ')print(txt)#重新转成bytes型data=bytes(txt,'utf8')setClipboardData(data)
阅读全文
0 0
- Mac下用python操作剪切板
- python操作剪切板
- Windows下利用win32clipboard实现Python的剪切板(Clipboard)操作
- Mac下Python操作MySql步骤
- Windows下python获取剪切板的内容
- 剪切板操作
- 剪切板操作
- ++剪切板操作
- 剪切板操作
- 剪切板操作
- 剪切板操作
- ClipMenu - Mac os 下的开发利器 多剪切板
- 清除mac剪切板
- mac下svn操作
- mac下常用操作
- Mac下各种操作
- mac 下 升级 python
- Mac下python路径
- 垃圾邮件分类器的原理(2)
- c#遍历一个文件夹下的所有文件包括子文件夹
- Hdu1161-敌兵布阵-【树状数组】
- 书《程序员之禅》简单介绍
- python初级进阶篇
- Mac下用python操作剪切板
- 计算机网络
- Mark-20170817-Centos 7 上 Nodejs 安装问题
- 简单Web应用例子 参考Head First servlet jsp
- C 语言基础 1
- CSS实战
- 象棋人机对战
- use api in pygal
- 刷CCF的算法题(第二天)