Проблема с имитацией Ctrl+C, не обновляющей содержимое буфера обмена внутри циклаPython

Программы на Python
Ответить
Anonymous
 Проблема с имитацией Ctrl+C, не обновляющей содержимое буфера обмена внутри цикла

Сообщение Anonymous »

Я создаю программу на Python, которой необходимо читать содержимое буфера обмена, которое обновляется во время каждой итерации цикла. Я видел другие вопросы о чтении из буфера обмена, но ни один из них, похоже, не работает, когда содержимое обновляется в цикле.
Когда я пытаюсь имитировать сочетание клавиш Ctrl+C внутри цикла используя pyautogui, первое, что я копирую, — это содержимое буфера обмена, а не обновленное содержимое. Я проверил чтение из буфера обмена вручную, и оно работает нормально, но проблема, похоже, заключается в том, что смоделированное сочетание клавиш Ctrl+C фактически не копирует новое содержимое в буфер обмена на каждой итерации.
Вот упрощенная версия моего кода:

Код: Выделить всё

from tkinter import Tk
import pyautogui  # Used to simulate keyboard inputs

for i in range(3):
pyautogui.hotkey('ctrl', 'c')  # Simulate copying current selection to clipboard

# Create an instance of Tk to access clipboard content
root = Tk()
root.withdraw()  # Hide the Tk window
clipboard_content = root.clipboard_get()  # Read clipboard contents
root.destroy()  # Destroy the Tk instance after reading clipboard

# Process the clipboard content
operation = clipboard_content.split("+")
operation = [i.replace('\r\n', '') for i in operation]

result = str(int(operation[0]) + int(operation[1]))  # Perform addition

# Simulate typing the result
for i in range(len(result)):
digit = result[abs(len(result) - i - 1)]
pyautogui.press(digit)
print(digit)

Я вручную протестировал чтение буфера обмена (Tk.clipboard_get()), и он отлично работает, когда я вручную копирую новый текст.
Я запускаю код из VS Code , и я гарантировал, что выделение текста меняется между итерациями.
Как обеспечить правильное обновление содержимого буфера обмена после каждой симуляции Ctrl+C внутри цикла?

Подробнее здесь: https://stackoverflow.com/questions/792 ... ide-a-loop
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»