Хотя вы можете запустить блокнот из командной строки и затем вернуть курсор назад, os.system
или даже subprocess.run
не работают таким образом на Python.Каждый ожидает, пока ID процесса, связанный с вашей командой, не будет уничтожен.
Однако этот код будет работать:
import subprocess
subprocess.Popen('"C:\\Windows\\System32\\notepad.exe"')
# we want to give notepad time to appear.
time.sleep(1)
pyautogui.typewrite("Hello world!")
exit()
Может быть более точная команда, чем time.sleep (), чтобы ждатьчтобы появился Блокнот, похожий на WinWaitActive в AutoIt, и мне было бы интересно услышать это.Но вышеприведенное должно работать.
Возможный обходной путь может состоять в том, чтобы создать и затем запустить новый файл в Notepad ++ из командной строки, или просто запустить уже открытый экземпляр Notepad ++ и заставить pyautogui отправить ctrl-n.Я могу выполнить несколько вызовов os.system в других сценариях при открытии текстовых файлов в notepad ++, поскольку процесс завершается, когда он находит открытую версию notepad ++ для открытия текстового файла.
echo > my_new_file.txt
os.system("my_new_file.txt")
os.system здесь отключается после запуска файла, предполагая, что Notepad ++ уже открыт.