我写了自己的修复工具,我该怎么办呢?我没有找到明显的方法来做到这一点。
只有这个:
> cd /usr/lib/python2.7/lib2to3/fixes/
> ln -s path/to/my_fixer.py
然后运行它:
> cd path/to/project
> 2to3 -f my_fixer .
答案 0 :(得分:4)
我明白了! (档案:my2to3)
#!/usr/bin/env python2.7
import sys
from lib2to3.main import main
sys.path.append('path/to/my_own_package')
sys.exit(main('my_own_package.contained_fixers'))
然后运行它:
> ./my2to3 -f my_fixer -w project
答案 1 :(得分:1)
/mypath/custom_fixers
生成具有以下内容的文件/mypath/custom_fixers/fix_custom_fixers.py
:
from lib2to3.fixer_base import BaseFix
from lib2to3.pgen2 import token
class FixCustomFixers(BaseFix):
_accept_type = token.NAME
def match(self, node):
if node.value == 'oldname':
return True
return False
def transform(self, node, results):
node.value = 'newname'
node.changed()
使用以下内容创建文件/mypath/myfixer.py
:
import sys
from lib2to3.main import main
sys.exit(main('custom_fixers'))
运行PYTHONPATH=/mypath python3 /mypath/myfixer.py -f custom_fixers python_file_to_fix.py