Форум сайта python.su
0
Задача: написать скрипт, который убирает все вызовы typing.cast() из кода, то есть если где-то в модуле проекта используется выражение с cast’ом типа:
var2 = cast(<какой то тип>, var1)
то заменить его на:
var2 = var1
<какой-то тип> это любой тип, будь то int, bool, Sequence, Mapping и т. д, фактически это любое выражение, определяющее тип
var1 может быть любым выражением
На выходе файлы проекта не должны содержать вызовы typing.cast()
Офлайн
124
пишет в новый файл, если все норм можно переименовать
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)
Офлайн