gpt4 book ai didi

python - 在编写修复程序后将自定义修复程序添加到 lib2to3

转载 作者:行者123 更新时间:2023-11-28 18:39:24 24 4
gpt4 key购买 nike

我正在为 lib2to3 编写自定义修复程序,不是将代码迁移到 Python 3,而是利用 lib2to3 的源代码解析功能,而不是使用正则表达式等手动解析源代码。

此时我已经编写了一个基本修复程序,但我不确定如何将其实际添加到 lib2to3。我只想使用单个修复器,我不打算将任何代码迁移到 Python 3。这应该不是问题,因为可以指定只使用显式传递的修复器:

2to3 -f fixer_name.py example.py

我当然可以只将修复器添加到修复器路径:

lib2to3/fixes/

但该脚本旨在作为一种工具分发,供用户迁移其使用已弃用导入格式的旧源代码。不幸的是,缺少 lib2to3 的文档并且 only writeup我发现建议使用已弃用的 distribute包。

欢迎提出任何建议,谢谢。

最佳答案

下面包含问题的解答(基本上是复制 2to3 驱动程序代码并传入您自己的包路径):

How to launch own 2to3 fixer?

我的2to3:

#!/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'))

将fix_my_fixer.py放到包目录下运行

./my2to3 -f my_fixer -w project

关于python - 在编写修复程序后将自定义修复程序添加到 lib2to3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28420441/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com