нужна помощь в исправлении кода на python, библиотека 'pyautogui'

я написал код который самостоятельно входит в игру выбирает сервер по названию и подключается к нему с помощью pyautogui и к этому коду добавил изменение переменной с названием сервера и ее сохранением,вот код с изменением переменной

D='tuoll;m'

import re


def edit_d(new_d):
    with open(__file__) as f:
        lines = f.readlines()
    if re.match("^D='.*'$", lines[0]) is not None or \
       re.match('^D=".*"$', lines[0]) is not None    :
        lines[0] = f'D={new_d!r}\n'
        with open(__file__, 'w') as f:
            f.writelines(lines)

затестите первый код отдельно, а потом в связке со вторым, вот второй

from copy import deepcopy
import pyautogui as pg
import copy
from  time import*

print(pg.position())

age=pg.prompt('1-РАСТ|2-ЮТУБ|3-ДИСКОРД','Введи сюда номер приложения') # выводит текст с письмом на экран

if age =='1':
    s='general (MTC2).bat' # то что нужно скопировать
    h1 =copy.deepcopy(s) # копирование
    pg.PAUSE = 1
    pg.click(34, 999)  # включение поисковой строки Win
    pg.PAUSE = 1
    pg.typewrite(h1)  # вставка скопированного текста
    pg.PAUSE = 1.1
    pg.click(212, 450)  # включение запрета
    pg.typewrite('n\n')
    pg.PAUSE=8.5 # ппауза перед выбором аккаунта
    pg.doubleClick(712,325) # нажатие на иконку раст
    pg.PAUSE=58 # пауза захода с начала загрузки стим до конца загрузки раст
    pg.click(501,512) # выбор аккаунта
    pg.PAUSE=0.5
    pg.click(117,543)
    pg.click(420,500) # печать в строку названия сервера
    pg.typewrite('hbuhjk') # вставка в строку с выбором сервера
    pg.click(770,63) # выбор сервера
    pg.click(826,728) # подключение к серверу

if age =='111':
    D=pg.prompt('1','Введи сюда номер приложения') # выводит текст с письмом на экран
    edit_d(D)
    s = 'general (MTC2).bat'  # то что нужно скопировать
    h1 = copy.deepcopy(s) # копирование
    pg.PAUSE = 1
    pg.click(34, 999)  # включение поисковой строки Win
    pg.PAUSE = 1
    pg.typewrite(h1)  # вставка скопированного текста
    pg.PAUSE = 1.1
    pg.click(212, 450)  # включение запрета
    pg.typewrite('n\n')
    pg.doubleClick(712,325) # нажатие на иконку раст
    pg.PAUSE=17 # пауза захода с начала загрузки стим до конца загрузки раст
    pg.click(501,512) # выбор аккаунта
    pg.PAUSE=0.5
    pg.click(117,543)
    pg.click(420,500) # печать в строку названия сервера
    pg.typewrite(D) # вставка в строку с выбором сервера
    pg.click(770,63) # выбор сервера
    pg.click(826,728) # подключение к серверу

if age =="2":
    pg.confirm('ЭТО В РАЗРАБОТКЕ','ПРОЧИТАЙ')
if age =="3":
    pg.confirm('ДАЙ мне БОЛЬШЕ ВРЕМЕНИ','ПРОЧИТАЙ')

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


в итоге программа выдает такую ошибку,

C:\Users\Султипульти\AppData\Local\Microsoft\WindowsApps\python3.11.exe C:\Users\Султипульти\PycharmProjects\gdrgf\pythonProject1\iujiuj.py 
Point(x=863, y=503)
Traceback (most recent call last):
  File "C:\Users\Султипульти\PycharmProjects\gdrgf\pythonProject1\iujiuj.py", line 51, in <module>
    edit_d(D)
  File "C:\Users\Султипульти\PycharmProjects\gdrgf\pythonProject1\iujiuj.py", line 8, in edit_d
    lines = f.readlines()
            ^^^^^^^^^^^^^
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.11_3.11.2544.0_x64__qbz5n2kfra8p0\Lib\encodings\cp1251.py", line 23, in decode
    return codecs.charmap_decode(input,self.errors,decoding_table)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
UnicodeDecodeError: 'charmap' codec can't decode byte 0x98 in position 498: character maps to <undefined>

Process finished with exit code 1

Ответы (1 шт):

Автор решения: SVBazuev

по ошибке:

UnicodeDecodeError: 'charmap' codec can't decode byte 0x98 in position 498: character maps to <undefined>

Python работает с кодировкой utf-8, а ты записываешь новое значение из cp1251.

→ Ссылка