Получить текст из программы в Python - PullRequest
0 голосов
/ 25 марта 2020

Я хотел бы получить текст из программы с Python, например, из блокнота. Могу ли я «запросить» этот текст, как с сайта? Я думал о чем-то вроде этого:

Документ в блокноте:

Hello World!
This is a text!

GetText.py:

get_text("notepad.exe")
>>> Hello World!\nThis is a text!

Возможно ли это?

Ответы [ 2 ]

1 голос
/ 25 марта 2020

Нет, вы не можете, не напрямую.

Существуют различные возможности доступа и т. Д. c. API, которые вы можете использовать, чтобы попытаться «прочитать» пользовательский интерфейс другой программы, но это, безусловно, намного сложнее, чем простой вызов в стиле get_text().

(А для Windows Notepad вы можете Перечислите дочерний элемент главного окна Блокнота windows, найдите элемент управления edit / rich-text, который он использует, и отправьте сообщение WM_GETTEXT (если мне не изменяет память) и надеюсь, что он вернет вам часть текущего текста обратно ...)

0 голосов
/ 25 марта 2020

Вы можете открыть файл в режиме чтения и просто напечатать каждую строку файла, используя для l oop:

a_file = open('notepad.exe', 'r')
for line in a_file:
    print(line)

a_file.close() #Make sure you close whatever file you open

Если вы используете Jupyter Notebook, убедитесь, что notepad.exe в том же каталоге, в котором открыта ваша записная книжка.

Примечание: если у вас есть опыт работы с командной строкой (например, Linux), вы также можете открыть ее в текстовом редакторе, таком как vim. Там вы можете с большей готовностью увидеть и отредактировать его.

...