Ich wollte ein Programm schreiben, das äußerst verschwenderisch war und den kopierten Text regelmäßig neu schrieb, also werde ich es versuchen. Der Quellcode ist so kurz, dass er wahrscheinlich für Anfänger ist.
Es wird jedoch nur ein Teil des Inhalts neu geschrieben.
Lassen Sie zuerst den Text in die Zwischenablage kopieren. Sie können hierfür Pyperclip verwenden.
Eingabeaufforderung
pip install pyperclip
Sie sollten es installieren können, indem Sie die Eingabeaufforderung eingeben. Kopieren wir den vorherigen Satz und führen das Programm aus.
sample01.py
import pyperclip, re
copy_text = str(pyperclip.paste())
print(copy_text)
Ausführungsergebnis
Es ist jedoch zu offensichtlich und nicht interessant, alles neu zu schreiben.
Warum also nicht nur einen Teil davon ändern?
Es ist mir gelungen, den kopierten Text zu erhalten, daher versuche ich, den Text in die Zwischenablage zu kopieren.
sample02.py
copy_text = 'hello world!'
print(copy_text)
pyperclip.copy('\n'.join(copy_text))
Ausführungsergebnis
Mein Name ist Alice
hello world!
Lassen Sie uns den kopierten Text neu schreiben.
Es ist nicht interessant, alles zu ändern (Sie müssen den Text gar nicht erst abrufen), daher möchte ich nur einen Teil ändern. Zum Beispiel Zahlen. Wenn die Zahlen herauskommen, ersetzen Sie sie durch Zufallszahlen.
Ich denke, dass die zu kopierenden Sätze oft auf Japanisch sind, also ändern Sie auch das Alphabet. Dies wird nur neu geschrieben, wenn eine bestimmte Zeichenfolge angezeigt wird.
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')
Ersetzen Sie die Zeichenfolge durch re. Es ist ein regulärer Ausdruck. Ich habe darüber nachgedacht, es durch eine Zufallszahl zu ersetzen oder in eine zufällige Zeichenkette zu ändern, aber es hat nicht funktioniert. Ich bin sicher, jemand wird gut darüber nachdenken.
Ausführungsergebnis
I will do my best day to day!
Rewrite: I will do my **** **** to ****!
Der englische Text, den ich kopiert habe, ist übrigens eine Google-Übersetzung von "Ich werde heute mein Bestes geben!" Ich freue mich auf die zweite Amtszeit von New Game.
Das letzte Oshigoto. Durch Ausführen von Thread aus Thread wird dieser alle 5 Sekunden ausgeführt. Das Programm bis oben wurde teilweise geändert.
copyChange.py
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
u"""Schreiben Sie den Text auf dem Hoge-Clip ohne Erlaubnis neu
Beispielsatz: Ich werde mein Bestes geben, Tag 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()
Ich habe es umgeschrieben, um die Zahl zufällig zu ändern, damit ich sehen kann, dass es sich regelmäßig wiederholt. Gleichzeitig wurde 2017 zu den Beispielsätzen hinzugefügt. Außerdem habe ich es gelöscht, da es ein Hindernis wäre, den kopierten Text zu drucken, wenn ich ihn ausgeführt habe.
Ausführungsergebnis
---Rewrite Complete!---
---Rewrite Complete!---
---Rewrite Complete!---
Zwischenablage
I will do my **** **** to **** 4444!
I will do my **** **** to **** 7777!
I will do my **** **** to **** 8888!
Danke für deine harte Arbeit.
Die Zwischenablage kann nur neu geschrieben werden, wenn dieses Programm gestartet wurde. Daher werde ich eine Methode vorstellen, um sie automatisch zu starten, um den Grad der Gewalt weiter zu erhöhen.
Diesmal wird Windows angenommen, sodass Sie den Taskplaner verwenden können. Ich denke, dass es Methoden für den automatischen Start in anderen Betriebssystemen gibt. Wenn Sie also von Ihrem eigenen PC belästigt werden möchten, sollten Sie ihn auf jeden Fall suchen und ausprobieren. Taskplaner starten
Möglicherweise können Sie dies mit schtasks an der Eingabeaufforderung tun. Ich habe es nie benutzt, aber ich weiß es nicht.
Recommended Posts