我正在尝试为 lib2to3 创建自定义迁移修复程序。修复器的想法是获取特定的结构,例如:
a.b()
我们尝试过使用一个名为 find_pattern.py
,但到目前为止没有运气。输出如下:
power< 'a' trailer< '.' 'b' > trailer< '(' ')' > >
但不幸的是,正如您可能已经猜到的那样 - 这不起作用。我们应该使用什么模式来BaseFix
?
这是需要准备的模式。
PATTERN = '''
power< head=any+
trailer< '.' method=any >
parens=trailer< '(' tail=[argument | arglist] ')'>
>
'''