@Govnokodddd

Перебор на Python?

Есть код:
import pywinauto

f = open("test.txt",'r',encoding = 'utf-8')
catalog = f.read(99)
for f in catalog:
    app=pywinauto.Application().connect(path=catalog)
    print("...")
    break

Здесь, если Pywinauto, по моей идее, если найдёт программу, указанную из test.txt (содержание данного файла будет ниже), он выводит на экран "..." (это как для примера). Реализовал это через цикл for, но нифига не выходит. Помогите пожалуйста
C:\Program Files\Notepad++\notepad++.exe
C:\Program Files (x86)\Bandicam\bdcam.exe
  • Вопрос задан
  • 181 просмотр
Решения вопроса 1
@o5a
1. f.read() считывает файл полностью в строку, в результате в цикле for f in catalog итерация идет не по строкам, а по каждой букве, соответственно ничего и не получается.
2. connect(path=catalog) должно использовать строку (т.е. f), а не все строки.
С такими изменениями должно работать:

catalog = f.read().splitlines()
for f in catalog:
    try:
        app=pywinauto.Application().connect(path=f)
    except pywinauto.application.ProcessNotFoundError:
        print(f, 'not found')
    else:
        print("...")
        break
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы