Обновлен Официальный Сайт Электронных Данных Соревнований Nikon https://www.xxe.io/New дебютируйте, как код Python 3 совместим с Python 2 1. Используйте функцию будущего Каждая новая версия Python добавляет некоторые новые функции или вносит некоторые изменения в исходную функциональность. Некоторые изменения несовместимы со старыми версиями, то есть код, который обычно выполняется в текущей версии, может работать неправильно в следующей версии.
Python предоставляет модуль _future_ для импорта функций следующей новой версии в текущую версию, поэтому мы можем протестировать некоторые функции новой версии в текущей версии.
Например, при использовании Python 3 print (“xxx”) в Python 2.7 вам необходимо обратиться к будущему модулю в начале файла, иначе вы сообщите об ошибке:
Синтаксическая ошибка: из будущего импорт должен происходить в начале файла 1
из будущего импорт функции печати из будущего подразделение импорта 1 2 3 Python 2.7.12 (по умолчанию, ноябрь 12 2018, 14:36:49) [GCC 5.4.0 20160609] на linux2 Введите “справка”, “авторское право”, “кредиты” или “лицензия” для получения дополнительной информации.
импорт функция печать “aaa” aa печать(aa) Обратная трассировка (последний последний вызов): Файл “”, строка 1, в <модуле> Ошибка имени: имя “aa” не определено печать(“aa”) aa печать (“aa”) aa
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 2. Используйте сценарии для преобразования py2 в PY3 Преобразуйте код Python 2 в код Python 3. Большинство ответов в сети даются через Tools/scripts/2to3.py скрипт в каталоге установки python.
Если это в Windows, 2to3.py находится в каталоге скриптов [каталог установки python или Anaconda].
Но в системе Ubuntu 16.04 Python 3.5.2 устанавливается через apt-get install, и нет 2to3.py файл в системе. В каталоге/usr/bin/есть несколько команд 2to3, которые можно вызывать напрямую.
2to3 -w /path/a/file.py
1 2 3 4 5 6 7 Параметры команды 2to3 следующие:
Использование: 2to3 [параметры] файл|реж. …
Параметры: -h, –справка показать это сообщение справки и выйти-d, –doctests_ только исправляет только тесты документов-f ИСПРАВЛЕНИЕ, Каждое ИСПРАВЛЕНИЕ определяет преобразование; по умолчанию: все -j ПРОЦЕССЫ,
Run 2to3 concurrently
-x NOFIX,
Prevent a transformation from being run
-l, –список исправлений Список доступных преобразований-p, –функция печати Измените грамматику так, чтобы функция печати() была функцией-v, –подробное более подробное ведение журнала –нет-различия Не показывают различия рефакторинга-w, –запись, Запись обратно измененных файлов-n, –nobackups Не записывают резервные копии для измененных файлов-o OUTPUT_DIR,
Put output files in this directory instead of overwriting the input files. Requires -n.
-W, –запись-без изменений-файлов
Also write files even if no changes were required (useful with --output-dir); implies -w.
–добавить-суффикс=ADD_SUFFIX
Append this string to all output filenames. Requires -n if non-empty. ex: --add-suffix='3' will generate .py3 files.