Python3 + pyperclip qui réécrit le texte copié

Planification

Je voulais écrire un programme extrêmement coûteux, réécrire régulièrement le texte copié, alors je vais l'essayer. Le code source est si court qu'il est probablement destiné aux débutants.

Pensez à la procédure

  1. Récupérez le texte copié
  2. Réécrire
  3. Coller dans le clip
  4. Répétez régulièrement

Cependant, seule une partie du contenu sera réécrite.

environnement

essayons!

Essayez d'utiliser pyperclip

Commencez par copier le texte dans le presse-papiers. Vous pouvez utiliser pyperclip pour cela.

invite de commande


pip install pyperclip 

Vous devriez pouvoir l'installer en tapant dans l'invite de commande. Copions la phrase précédente et exécutons le programme.

sample01.py


import pyperclip, re

copy_text = str(pyperclip.paste())
print(copy_text)

Résultat d'exécution


Cependant, il est trop évident et pas intéressant de tout réécrire.
Alors pourquoi ne pas en changer seulement une partie?

J'ai réussi à obtenir le texte copié, alors j'essaye de copier le texte dans le presse-papiers.

sample02.py


copy_text = 'hello world!'

print(copy_text)
pyperclip.copy('\n'.join(copy_text))

Résultat d'exécution


Je m'appelle Alice
hello world!

récrire

Réécrivons le texte copié.

Ce n'est pas intéressant de tout changer (vous n'avez même pas besoin d'obtenir le texte en premier lieu), donc je ne veux changer qu'une partie. Par exemple, des nombres. Lorsque les nombres sortent, remplacez-les par des nombres aléatoires.

Je pense que les phrases à copier sont souvent en japonais, alors changez aussi l'alphabet. Cela ne sera réécrit que lorsqu'une chaîne de caractères spécifique apparaît.

sample03.py


import pyperclip, re

copy_text = str(pyperclip.paste())
print(copy_text)

new = re.sub(r'[\d]', '*', copy_text)
new = re.sub(r'day|best|hello', '****', new)

if len(copy_text) > 0:
    pyperclip.copy('\n'.join(new))
    print('Rewrite:', new)
else:
    print('Nothing')

Remplacez la chaîne par re.sub. r '' est une expression régulière. Je pensais le remplacer par un nombre aléatoire ou le changer en une chaîne de caractères aléatoires, mais cela n'a pas fonctionné. Je suis sûr que quelqu'un y réfléchira bien.

Résultat d'exécution


I will do my best day to day!
Rewrite: I will do my **** **** to ****!

Au fait, le texte anglais que j'ai copié est une traduction Google de «Je ferai de mon mieux aujourd'hui! J'attends avec impatience le deuxième mandat de New Game.

Commencez régulièrement

Le dernier oshigoto. En exécutant Thread à partir de Thread, il sera exécuté toutes les 5 secondes. Le programme ci-dessus a été partiellement modifié.

copyChange.py


#!/usr/bin/env python3
# -*- coding: utf-8 -*-

u"""Réécrire le texte sur le clip Hoge sans autorisation
Exemple de phrase: je ferai de mon mieux au jour le jour 2017!
"""

import pyperclip, re, threading, random


def task():
    copy_text = str(pyperclip.paste())

    new = re.sub(r'[\d]', str(random.randint(0, 9)), copy_text)
    new = re.sub(r'day|best|hello', '****', new)

    if len(copy_text) > 0:
        pyperclip.copy(''.join(new))
        print('---Rewrite Complete!---')
    else:
        print('---Failure---')
    th = threading.Timer(5, task)
    th.start()

t = threading.Thread(target=task)
t.start()

Je l'ai réécrit pour changer le nombre en utilisant aléatoire afin que je puisse voir qu'il se répète régulièrement. Dans le même temps, 2017 a été ajoutée aux phrases d'exemple. De plus, je l'ai supprimé car ce serait un obstacle à imprimer le texte copié lorsque je l'ai exécuté.

Résultat d'exécution


---Rewrite Complete!---
---Rewrite Complete!---
---Rewrite Complete!---

Presse-papiers


I will do my **** **** to **** 4444!
I will do my **** **** to **** 7777!
I will do my **** **** to **** 8888!

Je vous remercie pour votre travail acharné.

prime

Le presse-papiers ne peut pas être réécrit tant que ce programme n'est pas démarré. Par conséquent, je présenterai une méthode pour le démarrer automatiquement afin d'augmenter encore le degré de violence.

Cette fois, il est supposé être Windows, vous pouvez donc utiliser le planificateur de tâches. Je pense qu'il existe des méthodes de démarrage automatique dans d'autres systèmes d'exploitation, donc si vous voulez être harcelé par votre propre PC, vous devez absolument le rechercher et l'essayer. Démarrer le planificateur de tâches

Vous pourrez peut-être le faire avec schtasks à l'invite de commande. Je ne l'ai jamais utilisé, mais je ne sais pas.

Matériel de référence

excuses

Recommended Posts

Python3 + pyperclip qui réécrit le texte copié
[python] Déplacer les fichiers qui remplissent les conditions
[Python] Un programme qui arrondit le score
Extraire les lignes qui correspondent aux conditions d'un fichier texte avec python
Mon pyperclip (Python)
Celui qui affiche la barre de progression en Python
[Python] Un programme qui compte le nombre de vallées
[Python] Évaluez les expressions faciales qui apparaissent sur le visage
[Python] Génère des nombres aléatoires qui suivent la distribution de Rayleigh
Trouvez la partie 575 de Wikipedia en Python
Programme Python qui recherche le même nom de fichier
Exemples PHP et Python qui ont atteint l'API ChatWork
Un mémo que j'ai touché au magasin de données avec python
J'ai senti que j'avais porté le code Python en C ++ 98.
Modules pouvant passer par le shell en Python
L'attitude que les programmeurs devraient avoir (Le Zen de Python)
[Python] Un programme qui compare les positions des kangourous.
Programme Python qui convertit les données ical en texte
Python Open CV a essayé d'afficher l'image sous forme de texte.
Texte de cluster en Python
Trouvez le maximum de Python
le zen de Python
Traitement de texte avec Python
[Python] Fractionner la date
Création d'un script Python prenant en charge l'API e-Stat (ver.2)
Prise en compte des décorateurs Python du type qui passe des variables
Une doublure qui réécrit de manière aléatoire l'heure de démarrage de cron
Histoire que Python a cessé de travailler avec VS Code (Windows 10)
Notes diverses sur l'utilisation de python pour les projets
[Python] Un programme qui trouve les types d'oiseaux les plus courants
Script Python qui compare le contenu de deux répertoires