python剪切板怎样用

img


来源:Python编程快速上手——让繁琐工作自动化,照着书中程序输入,却显示无法调用剪切板

需要安装pyperclip包来实现,管理员模式打开命令提示符 pip install pyperclip。(望采纳,谢谢!!!!)
还可以使用其他方法:

  1. 使用pandas.io.clipboard的方法
    安装有pandas包的小伙伴可以试一试,安装代码:Win+R输入pip install pandas

import pandas.io.clipboard as cb
 
cb.copy("复制内容")  # 复制到剪切板
print(cb.paste())   # 从剪切板粘贴(获取内容),并打印


  1. 使用pyperclip的方法
    安装有pyperclip包的小伙伴可以试一试,安装代码:Win+R输入pip install pyperclip
import pyperclip as cb
 
cb.copy("复制内容")  # 复制到剪切板
print(cb.paste())   # 从剪切板粘贴(获取内容),并打印

  1. 使用win32clipboard的方法
    安装有win32clipboard 包的小伙伴可以试一试,安装代码:Win+R输入pip install win32clipboard
import win32clipboard as cb
 
cb.OpenClipboard()  # 打开剪切板
cb.SetClipboardData(1, "复制内容")  # 复制到剪切板
print(cb.GetClipboardData(1))      # 从剪切板粘贴(获取内容),并打印
cb.CloseClipboard()  # 关闭剪切板


  1. 使用os.system控制命令的方法
    如果你用的Windows设备可以试一试,但这种方法只能复制,且末尾会多一个换行:
import os
 
os.system("echo 复制内容 | clip")  # 复制不含空格的文本到剪切板
# os.system("clip < 文件路径")     # 复制文件到剪切板

  1. 使用subprocess模块下的Popen方法
    如果你用的苹果电脑或其他Mac设备可以试一试:
from subprocess import Popen, PIPE
 
def set_clipboard(data: str):  # 复制到剪切板
    with Popen(['pbcopy'], stdin=PIPE) as p:
        p.stdin.write(data.encode("utf-8"))
        p.stdin.close()
        p.communicate()
 
def get_clipboard():  # 从剪切板粘贴(获取内容)
    with Popen(['pbpaste'], stdout=PIPE) as p:
        p.wait()
        paste_bytes = p.stdout.read()
        p.stdout.close()
    return paste_bytes.decode('utf-8')
 
if __name__ == "__main__":
    set_clipboard('复制内容')  # 复制到剪切板
    print(get_clipboard())    # 从剪切板粘贴(获取内容),并打印