0

У меня есть программа в которую для входа в аккаунт надо код но чтобы это не делать самому я решил дать эту задачу языку программирования python. Проблема в том что когда я пишу программу для ввода кода в приложение(блокнот) у меня не выводил текст в приложение. Я подумал может сбой и решил попробовать ещё раз. Когда я закрыл блокнот у меня начал вводиться код который изначально должен был ввестись в блокнот

import pyautogui as pag
import os

os.system('C:/WINDOWS/system32/notepad') pag.typewrite('1111', 1)

вот сам код, если можете пожалуйста помогите т.к. даже интернет не знает (ну или я не правильно формулирую запрос)

insolor
  • 49,104
mixxxas
  • 13
  • Какой вопрос то? – Эникейщик May 06 '23 at 04:46
  • Нужно в какую-то форму для ввода кода текст автоматически ввести, который в файле хранится? – Alpensin May 06 '23 at 06:48
  • Как я понимаю, текст не вводится в нужное окно. Но оно, например, на момент ввода ещё может быть не активно (notepad не успел запуститься) – MBo May 06 '23 at 07:46
  • Блокнот запускается и после его запуска ничего не происходит но как только я его закрою у меня начинает выводиться код в pycharm – mixxxas May 07 '23 at 07:06

1 Answers1

0

os.system запускает команду, ждет ее завершения (у вас - закрытия окна блокнота), и только потом продолжается выполнение программы. Именно поэтому у вас печатать начинает только после закрытия блокнота.

Чтобы запустить, но не ждать завершения, нужно использовать Popen из модуля subprocess:

import pyautogui as pag
from subprocess import Popen
import time

process = Popen("C:/WINDOWS/system32/notepad")

time.sleep(0.2) # Небольшая пауза, чтобы окно успело появиться pag.typewrite('1111', 1)

Если нужно принудительно дождаться закрытия блокнота, добавляете строку process.wait().

insolor
  • 49,104