Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 10, 2022 12:54:03

malenichki
Зарегистрирован: 2022-02-10
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Задача typing.cast()

Задача: написать скрипт, который убирает все вызовы typing.cast() из кода, то есть если где-то в модуле проекта используется выражение с cast’ом типа:

var2 = cast(<какой то тип>, var1)

то заменить его на:

var2 = var1

<какой-то тип> это любой тип, будь то int, bool, Sequence, Mapping и т. д, фактически это любое выражение, определяющее тип

var1 может быть любым выражением

На выходе файлы проекта не должны содержать вызовы typing.cast()

Офлайн

#2 Фев. 10, 2022 19:25:05

xam1816
Зарегистрирован: 2020-05-11
Сообщения: 1393
Репутация: +  124  -
Профиль   Отправить e-mail  

Задача typing.cast()

пишет в новый файл, если все норм можно переименовать

 import re
with open('some_file.py', 'r') as r_file:
    with open('new_file.py', 'w') as w_file:
        for line in r_file.readlines():
            res = re.sub(r'cast\(.+\)', lambda x: m.group() if (m:=re.search(r'\w+(?=\))', x[0]))else None, line)
            w_file.write(res)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version