#python
Вопрос:
Я написал некоторый код, чтобы помочь скопировать и вставить несколько строк в программу, которая не позволяет копировать и вставлять несколько строк красиво, как это делает excel. Я пытался написать этот инструмент в AHK, но что-то в AHK, похоже, не очень хорошо сочетается с рассматриваемой программой (RSLogix studio 5000, AHK всегда пропускает строки при копировании и вставке). Этот код на python работает хорошо и не пропускает строки при копировании или вставке, но я столкнулся с новой проблемой. Несмотря на то, что я установил горячие клавиши (ctrl 1 открывает окно с вопросом, сколько строк вы хотите скопировать или вставить, ctrl 2 копирует столько строк, ctrl 3 вставляет столько строк) нажатие ctrl всегда открывает окно ввода. Если я удалю окно ввода и жестко закодирую значение для «строк», то все будет работать так, как ожидалось. Что-то в этом окне заставляет программу вести себя странно. У кого-нибудь есть какие-нибудь идеи?
заранее спасибо за ваше время:)
import pyautogui
import easygui
import keyboard
import pyperclip
import time
from pynput.keyboard import HotKey, Key, KeyCode, Listener
from pynput import keyboard
copy_list=[]
lines = 0
def function_1():
global lines
lines = easygui.integerbox("Enter number of lines to copy")
print(lines)
def function_2():
global lines
copy_list.clear()
for x in range(int(lines)):
pyautogui.hotkey('ctrl', 'c')
clp=pyperclip.paste()
pyperclip.copy("")
copy_list.append(clp)
pyautogui.press('down')
print(copy_list)
def function_3():
global lines
for x in range(int(lines)):
pyperclip.copy(copy_list[x])
pyautogui.hotkey('ctrl', 'v')
pyautogui.press('enter',presses=3,interval=0.05)
with keyboard.GlobalHotKeys({
'<ctrl> 1': function_1,
'<ctrl> 2': function_2,
'<ctrl> 3': function_3}) as h:
h.join()