Je n'avais pas de solution, juste une solution de contournement.
À partir de Windows Vista, une commande intégrée appelée clip
qui prend la sortie d'une commande de la ligne de commande et la met dans le presse-papiers. Par exemple, ipconfig | clip
.
J'ai donc créé une fonction avec le os
qui prend une chaîne et l'ajoute au presse-papiers en utilisant la solution intégrée de Windows.
import os
def addToClipBoard(text):
command = 'echo ' + text.strip() + '| clip'
os.system(command)
# Example
addToClipBoard('penny lane')
# Penny Lane is now in your ears, eyes, and clipboard.
Comme indiqué précédemment dans les commentaires, l'un des inconvénients de cette approche est que la echo
ajoute automatiquement une nouvelle ligne à la fin de votre texte. Pour éviter cela, vous pouvez utiliser une version modifiée de la commande :
def addToClipBoard(text):
command = 'echo | set /p nul=' + text.strip() + '| clip'
os.system(command)
Si vous utilisez Windows XP, il vous suffira de suivre les étapes décrites dans le guide de l'utilisateur. Copier et coller directement dans le Presse-papiers à partir de l'invite de commande de Windows XP Pro .
4 votes
En rapport avec cette question .
0 votes
Jaraco.clipboard le fait (aussi) : clipboard.copy(variable)
0 votes
Voir aussi mon réponse à une question connexe sur la copie vers le presse-papiers à l'aide de Tkinter sans afficher une fenêtre. Il comprend une fonction Python qui remplace/renvoie le texte du presse-papiers en utilisant Tkinter.