天天看點

Python 技術篇-用pywin32庫實作讀寫剪貼闆

我們需要 pywin32 庫,沒有的話可以看下安裝教程。 pywin32庫安裝教程

# -*- coding: UTF8 -*-
import win32clipboard as wc
import win32con

# 擷取剪切闆内容
def getCopy():
    wc.OpenClipboard()
    t = wc.GetClipboardData(win32con.CF_UNICODETEXT)
    wc.CloseClipboard()
    return t

# 寫入剪切闆内容
def setCopy(str):
    wc.OpenClipboard()
    wc.EmptyClipboard()
    wc.SetClipboardData(win32con.CF_UNICODETEXT, str)
    wc.CloseClipboard()

setCopy("中文English")
print(getCopy())      

強調一點,網上很多人将 win32con.CF_UNICODETEXT 寫成 win32con.CF_TEXT,這個是需要轉碼的,不然中文會有亂碼,而且寫入剪貼闆的英文中間會有空格。

亂碼問題:

TEXT 的編碼格式是 GB2312 的,如果中文用 UTF-8 打出就會是亂碼。

如果隻是擷取剪貼闆内容的話在 getCopy() 加個 .decode(“GB2312”) 就好了。

亂碼的原因有很多可能,這隻是其中一種可能。

英文中間夾空格問題:

空格的原因是寫入的英文是一個位元組,GB2312 是兩個位元組,他們轉化之後還是就會是在後面加一個位元組的空格來占位置。比如 hello 列印出來的效果就是 h e l l o。

Python 技術篇-用pywin32庫實作讀寫剪貼闆

喜歡的點個贊❤吧!