Python 2to3 ручная модификация - PullRequest
3 голосов
/ 16 октября 2010

Есть ли способ изменить исходный код python2.x на python 3.x вручную. Я думаю, что с помощью lib2to3 это можно сделать, но я не знаю точно, как это сделать?

Ответы [ 2 ]

4 голосов
/ 17 октября 2010

Да, портирование - это то, что вы ищете здесь.

Портирование - это нетривиальная задача, требующая принятия различных решений относительно вашего кода. Например, хотите ли вы поддерживать обратную совместимость. Единого универсального решения для портирования не существует. Способ переноса зависит от ваших конкретных требований.

Лучший ресурс, который я нашел для переноса приложений с Python 2 на 3, - это вики-страница PortingPythonToPy3k . Страница содержит несколько подходов к портированию, а также множество ссылок на ресурсы, которые потенциально полезны при переносе работы.

2 голосов
/ 18 октября 2010

Спасибо.Вот ответ, который я искал:

from lib2to3.refactor import RefactoringTool, get_fixers_from_package
"""assume `files` to a be a list of all filenames you want to convert"""
r = RefactoringTool(get_fixers_from_package('lib2to3.fixes'))
r.refactor(files, write=True)
...