Skip to content

Copiare e incollare testo negli appunti con pyperclip in Python

Python

In Python, puoi appuntire negli appunti il ​​testo (stringa) e negli appuntire (ottenere) il testo negli appunti con pyperclip. Puoi anche monitorare gli appunti per ottenere il testo quando aggiornato.

import pyperclip

pyperclip.copy('text to be copied')
print(pyperclip.paste())
# text to be copied

In questo articolo vengono descritti i seguenti contenuti.

  • Vieni a pyperclip
  • Copia il testo negli appunti:pyperclip.copy()
  • Incolla (ottieni) il testo dagli appunti:pyperclip.paste()
  • Monitora gli appunti:pyperclip.waitForPaste(), waitForNewPaste()
  • Nota: pyperclip può gestire solo testo (stringa)

Pandas fornisce una funzione per elaborare il contenuto degli appunti come DataFrame.

Come accennato nell’ultima sezione, pyperclip può gestire solo testo (stringa). Puoi ottenere l’immagine dagli appunti con Pillow.

I seguenti contenuti sono verificati con pyperclip versione 1.8.2. Si noti che potrebbe funzionare in modo diverso su altre versioni.

Vieni a pyperclip

Puoi installare pyperclip con il comando pip/pip3.

Per Linux sono richiesti il ​​comando xclip o xsel (installato con apt, ecc.) e il modulo gtk o PyQt4 (installato con pip). Vedere la documentazione ufficiale per i dettagli.

Copia il testo negli appunti:pyperclip.copy()

Puoi trovare il testo negli appunti con perclip.copy().

pyperclip.copy('text to be copied')

Incolla (ottieni) il testo dagli appunti:pyperclip.paste()

Puoi incollare (ottenere) il testo dagli appunti con pyperclip.paste().

print(pyperclip.paste())
# text to be copied

print(type(pyperclip.paste()))
# <class 'str'>

Ovviamente puoi anche assegnarlo a una variabile.

s = pyperclip.paste()
print(s)
# text to be copied

Monitora gli appunti:pyperclip.waitForPaste(), waitForNewPaste()

Puoi monitorare gli appunti con pyperclip.waitForPaste(), pyperclip.waitForNewPaste().

Se pyperclip.waitForPaste() viene eseguito quando gli appunti sono vuoti, attende la copia del nuovo testo. Quando il nuovo testo viene copiato, pyperclip.waitForPaste() lo invia.

Se viene eseguito con del testo già copiato negli appunti, il testo viene restituito.

pyperclip.copy('')
print(pyperclip.waitForPaste())
# some text

Quando pyperclip.waitForNewPaste() viene eseguito, attend la copia del nuovo testo. Se il testo negli appunti viene aggiornato, pyperclip.waitForNewPaste() lo riporta.

print(pyperclip.waitForNewPaste())
# new text

È possibile specificare il numero di secondi da controllare. Se non viene copiato alcun nuovo testo e il tempo specificato senza un valore restituito, queste funzioni sollevano PyperclipTimeoutException.

# pyperclip.waitForNewPaste(5)
# PyperclipTimeoutException: waitForNewPaste() timed out after 5 seconds.

Esempio di gestione delle eccezioni:

try:
    s = pyperclip.waitForNewPaste(5)
except pyperclip.PyperclipTimeoutException:
    s = 'No change'

print(s)
# No change

Nota: pyperclip può gestire solo testo (stringa)

Pyrperclip può gestire solo testo (stringa). Anche se copia un valore numerico con pyperclip.copy(), pyperclip.paste() contiene la stringa str.

pyperclip.copy(100)
print(pyperclip.paste())
# 100

print(type(pyperclip.paste()))
# <class 'str'>

Usa int() o float() per le stringhe in numeri.

i = int(pyperclip.paste())
print(i)
# 100

print(type(i))
# <class 'int'>

Se un’immagine viene copiata negli appunti, pyperclip.paste() viene assegnata una stringa vuota ”. Puoi ottenere l’immagine dagli appunti con Pillow.