注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

与牛熊共舞

2010与牛熊共舞,共同创造一个神话

 
 
 

日志

 
 

用Python读写剪贴板(Win32)  

2011-01-11 23:33:51|  分类: Python |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

  要整理数据然后将结果写入到剪贴板,省的自己再选定、复制了,所以从网上找了找,费了点小劲儿,总算可以了。这里面有部分问题,有些已经理解,做个记录,有些一知半解,做个记录,有些是不懂,也做个记录。

  目前尚不明白的地方,会出现下述的错误:

Traceback (most recent call last):
  File "E:\stock\csClipboard.pyw", line 19, in <module>
    aa = getText()
  File "E:\stock\csClipboard.pyw", line 9, in getText
    d = w.GetClipboardData(win32con.CF_TEXT)
error: (0, 'GetClipboardData', 'No error message is available')

初步诊断原因,是剪贴板是空的。

 

 

 

代码如下:

#coding: UTF-8  #默认工作在utf方式下,所以后面就要有相应的处理
import sys
import os.path
import win32clipboard as w 
import win32con 

def getText(): 
    w.OpenClipboard() 
    d = w.GetClipboardData(win32con.CF_TEXT) 
    w.CloseClipboard() 
    return d 

def setText(aString): 
    w.OpenClipboard() 
    w.EmptyClipboard() 
    w.SetClipboardData(win32con.CF_TEXT, aString) 
    w.CloseClipboard()

aa = getText()
print aa

ab = "测试剪贴板"    #原始是utf8格式的保存的字符
ab = ab.decode("utf-8") #按照原有格式解码
ab = ab.encode("GB2312")    #按照输出格式编码,在windowsXP里,要用GBK或GB2312
setText(ab) #写入到windows的剪贴板中

 

另外要注意到的是,这个剪贴板读写的包在安装了PythonWin之后才会有。

  评论这张
 
阅读(8952)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018