Переместить курсор мыши к координатам, которые импортируются из текстового файла - PullRequest
0 голосов
/ 28 января 2020

Я новичок в Python! У меня есть текстовый файл с некоторыми координатами x, y, например:

1126 , 600
850 , 254
190 , 240
549 , 109

Я использую Pynput для перемещения мыши в определенную c позицию, например

mouse.position=(300,500)

Я хочу, чтобы код читал координаты из текстового файла "XY_test.txt", чтобы он мог печатать координаты, а также перемещать курсор к ним.

try:
    file=open("E:\\XY_test.txt",'r')
    coords=file.readlines()
    for i in range (1,2):
        print(coords[i])
        mouse.position=(coords[i])
finally:
    file.close()

С помощью этого кода я могу успешно распечатать координаты, но курсор не перемещается в нужную позицию. Вместо этого курсор переходит в положение (1,1). Кажется, что есть проблема с форматированием строки "mouse.position = (ordins [i])". Он ожидает значение (x, y), но, по-видимому, читает «1126 600» и помещает первое di git в качестве значения x, а второе di git в качестве значения y. Я обнаружил это, когда использовал «mouse.move (координирование [i])» вместо «mouse.position = (координаты [i])», как показано ниже.

>>> try:
    file=open("E:\\XY_test.txt",'r')
    coords=file.readlines()
    for i in range (1,2):
        print(coords[i])
        mouse.move(coords[i])
finally:
    file.close()


1126 , 600
Traceback (most recent call last):
  File "<pyshell#181>", line 6, in <module>
    mouse.move(coords[i])
TypeError: move() missing 1 required positional argument: 'dy'

Я не уверен как правильно сделать так, чтобы код считывал строки текстового файла и правильно использовал их в качестве координат.

1 Ответ

0 голосов
/ 29 января 2020

Похоже, ваш список координат будет выглядеть примерно так:

coords=['1126 , 600', 850 , 254', '190 , 240', '549 , 109']

Итак, что вы фактически передаете mouse.move():

mouse.move('1126, 600') вместо mouse.move(1126, 600).

Что вам нужно сделать, это split каждая координата на ' , ', привести каждую сторону к int, а затем передать их как два отдельных аргумента.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...