Правильно подставьте значения для работы с ImageGrab - PullRequest
1 голос
/ 13 февраля 2020

Как мне изменить формат строки, чтобы ImageGrab ее принял?

Моя задача - получить координаты контейнера из файла и вставить их значения в поле.

В файле есть только одна строка, и он имеет формат: 335,50,467,70.

Если я подставляю эти значения напрямую, а не через переменную, скрипт работает отлично. Но он отказывается брать значения из файла.

Что мне делать?

    from PIL import ImageGrab

    with open(r"C:\Users\admin\Desktop\area.txt", "r") as file:
        lines = file.readline()
        print(lines)
        box = (lines)
        #box = (335,50,467,70)     # If so, then everything works perfectly
        print(box)
        img = ImageGrab.grab(box) 
        #img.show()

1 Ответ

1 голос
/ 13 февраля 2020

Чтобы немного расширить мой комментарий, у вас есть строка: lines = "335,50,467,70"

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

box = lines.split(',')
box
>>> ["335", "50", "467", "70"]

Затем вы можете перебирать список и приводить каждый элемент к типу int следующим образом:

box = tuple(int(item) for item in lines.split(','))
box
>>> (335, 50, 467, 70)
...