Я работаю с программой, которая не может обрабатывать пробелы, поэтому я создал скрипт на python для решения проблемы из того, что нашел в Интернете, но есть проблема.Когда я нажимаю Ctrl + c, первая строка сохраняется, обрабатывается и возвращается в буфер обмена и красиво вставляется.Но когда я копирую другую строку, старый стинг вставляется.По какой-то причине буфер обмена не обновляется новой строкой.Код:
from pynput import keyboard
import pyperclip
import time
# The key combinations to check
COMBINATIONS = [
{keyboard.Key.ctrl_l, keyboard.KeyCode(char='c')},
{keyboard.Key.ctrl_r, keyboard.KeyCode(char='c')}
]
# The currently active modifiers
current = set()
def on_press(key):
if any([key in comb for comb in COMBINATIONS]):
current.add(key)
if any(all(k in current for k in comb) for comb in COMBINATIONS):
main_function()
def on_release(key):
try:
current.remove(key)
except KeyError:
pass
def main_function():
copy = pyperclip.paste()
text = copy.strip()
pyperclip.copy(text)
print("Ctrl + c pressed")#To register if it is pressed
with keyboard.Listener(on_press=on_press, on_release=on_release) as listener:
listener.join()
РЕДАКТИРОВАТЬ : Я понял, что хочу сделать две операции одновременно.Скопируйте и отформатируйте строку.Поэтому я добавил задержку в функцию, и она удалила мою проблему.
def main_function():
time.sleep(0.1)
copy = pyperclip.paste()
text = copy.strip()
pyperclip.copy(text)
print("Ctrl + c pressed")#To register if it is pressed