
En Python, vous pouvez copier du texte (chaîne) dans le presse-papiers et coller (obtenir) du texte du presse-papiers avec pyperclip. Vous pouvez également surveiller le presse-papiers pour obtenir le texte lorsqu’il est mis à jour.
import pyperclip
pyperclip.copy('text to be copied')
print(pyperclip.paste())
# text to be copied
Cet article décrit le contenu suivant.
- Comment installer le pyperclip
- Copiez le texte dans le presse-papier :
pyperclip.copy()
- Collez (récupérez) le texte du presse-papier :
pyperclip.paste()
- Surveillez le presse-papier :
pyperclip.waitForPaste(), waitForNewPaste()
- Remarque : pyperclip ne peut gérer que du texte (chaîne)
Pandas fournit une fonction pour traiter le contenu du presse-papiers en tant que DataFrame.
Comme mentionné dans la dernière section, pyperclip ne peut gérer que du texte (chaîne). Vous pouvez obtenir l’image du presse-papiers avec Pillow.
Le contenu suivant est vérifié avec la version 1.8.2 de pyperclip. Notez que cela peut fonctionner différemment sur d’autres versions.
Comment installer le pyperclip
Vous pouvez installer pyperclip avec la commande pip/pip3.
Pour Linux, la commande xclip ou xsel (installée avec apt, etc.) et le module gtk ou PyQt4 (installé avec pip) sont requis. Voir la documentation officielle pour plus de détails.
Copiez le texte dans le presse-papier :pyperclip.copy()
Vous pouvez copier du texte dans le presse-papiers avec pyperclip.copy().
pyperclip.copy('text to be copied')
Collez (récupérez) le texte du presse-papier :pyperclip.paste()
Vous pouvez coller (obtenir) du texte du presse-papiers avec pyperclip.paste().
print(pyperclip.paste())
# text to be copied
print(type(pyperclip.paste()))
# <class 'str'>
Bien sûr, vous pouvez également l’affecter à une variable.
s = pyperclip.paste()
print(s)
# text to be copied
Surveillez le presse-papier :pyperclip.waitForPaste(), waitForNewPaste()
Vous pouvez surveiller le presse-papiers avec pyperclip.waitForPaste(), pyperclip.waitForNewPaste().
Si pyperclip.waitForPaste() est exécuté lorsque le presse-papiers est vide, il attend que le nouveau texte soit copié. Lorsqu’un nouveau texte est copié, pyperclip.waitForPaste() le renvoie.
S’il est exécuté avec du texte déjà copié dans le presse-papiers, le texte est renvoyé.
pyperclip.copy('')
print(pyperclip.waitForPaste())
# some text
Lorsque pyperclip.waitForNewPaste() est exécuté, il attend que le nouveau texte soit copié. Si le texte du presse-papiers est mis à jour, pyperclip.waitForNewPaste() le renvoie.
print(pyperclip.waitForNewPaste())
# new text
Vous pouvez spécifier le nombre de secondes à vérifier. Si aucun nouveau texte n’est copié et que le temps spécifié s’écoule sans valeur de retour, ces fonctions lèvent PyperclipTimeoutException.
# pyperclip.waitForNewPaste(5)
# PyperclipTimeoutException: waitForNewPaste() timed out after 5 seconds.
Exemple de gestion des exceptions :
try:
s = pyperclip.waitForNewPaste(5)
except pyperclip.PyperclipTimeoutException:
s = 'No change'
print(s)
# No change
Remarque : pyperclip ne peut gérer que du texte (chaîne)
Piperclip ne peut gérer que du texte (chaîne). Même si vous copiez une valeur numérique avec pyperclip.copy(), pyperclip.paste() renvoie la chaîne str.
pyperclip.copy(100)
print(pyperclip.paste())
# 100
print(type(pyperclip.paste()))
# <class 'str'>
Utilisez int() ou float() pour convertir des chaînes en nombres.
i = int(pyperclip.paste())
print(i)
# 100
print(type(i))
# <class 'int'>
Si une image est copiée dans le presse-papiers, pyperclip.paste() renvoie une chaîne vide ». Vous pouvez obtenir l’image du presse-papiers avec Pillow.