Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在lib2to3中使用自定义迁移修复程序获取方法调用?_Python_Migration - Fatal编程技术网

Python 如何在lib2to3中使用自定义迁移修复程序获取方法调用?

Python 如何在lib2to3中使用自定义迁移修复程序获取方法调用?,python,migration,Python,Migration,我正在尝试为lib2to3创建一个自定义迁移修复程序。修复程序的想法是获取特定的构造,例如: a.b() 我们曾尝试使用名为find_pattern.py的脚本,但到目前为止运气不佳。输出如下: power< 'a' trailer< '.' 'b' > trailer< '(' ')' > > power> 但不幸的是,正如你可能已经猜到的,这是行不通的。我们应该使用什么样的BaseFix模式?这是需要准备的模式 PATTERN = ''' p

我正在尝试为lib2to3创建一个自定义迁移修复程序。修复程序的想法是获取特定的构造,例如:

a.b()
我们曾尝试使用名为
find_pattern.py
的脚本,但到目前为止运气不佳。输出如下:

power< 'a' trailer< '.' 'b' > trailer< '(' ')' > >
power<'a'拖车<'.'b'>拖车<'('')>>

但不幸的是,正如你可能已经猜到的,这是行不通的。我们应该使用什么样的
BaseFix模式?

这是需要准备的模式

PATTERN = '''
    power< head=any+
     trailer< '.' method=any >
     parens=trailer< '(' tail=[argument | arglist] ')'>

    >
'''
PATTERN=''
功率<水头=任何+
拖车<'.'方法=任何>
parens=拖车<'('tail=[参数| arglist]')>
>
'''