如何在python中粘贴键盘中复制的文本

时间:2017-10-18 18:56:12

标签: python python-3.x tkinter tkinter-entry pyperclip

如果我执行此代码,它可以正常工作。但是如果我使用键盘复制一些东西( Ctrl + C ),那么如何在python的任何输入框或文本框中粘贴剪贴板上的文本?

import pyperclip
pyperclip.copy('The text to be copied to the clipboard.')
spam = pyperclip.paste()

3 个答案:

答案 0 :(得分:0)

您需要删除该行:

pyperclip.copy('The text to be copied to the clipboard.')

因为它会覆盖您使用键盘复制的内容。

例如,我复制了你问题的标题,以及我如何粘贴到python shell中:

>>> import pyperclip 
>>> pyperclip.paste() 
'How do I paste the copied text from keyboard in python\n\n'
>>> 

答案 1 :(得分:0)

您需要将pyperclip.paste()传递给您为条目或文本小部件插入放置字符串的相同位置。

看看这个示例代码。

有一个按钮可以复制输入字段中的内容,另一个按钮可以粘贴到输入字段。

import tkinter as tk
from tkinter import ttk
import pyperclip

root = tk.Tk()

some_entry = tk.Entry(root)
some_entry.pack()

def update_btn():
    global some_entry
    pyperclip.copy(some_entry.get())

def update_btn_2():
    global some_entry
    # for the insert method the 2nd argument is always the string to be
    # inserted to the Entry field.
    some_entry.insert(tk.END, pyperclip.paste())

btn = ttk.Button(root, text="Copy to clipboard", command = update_btn)
btn.pack()

btn2 = ttk.Button(root, text="Paste current clipboard", command = update_btn_2)
btn2.pack()


root.mainloop()

或者你可以做 Ctrl + V :D

答案 2 :(得分:0)

如果您已在代码中使用tkinter,则所需的只是剪贴板中的内容。然后tkinter有一个内置的方法来做到这一点。

import tkinter as tk
root = tk.Tk()
spam = root.clipboard_get()

要在tkinter条目/文本框中添加复制的文字,您可以使用tkinter变量:

var = tk.StringVar()
var.set(spam)

并将该变量链接到Entry小部件。

box = tk.Entry(root, textvariable = var)