Пересмотрены данные о соревнованиях Yezi electric на официальном сайте https://www.xxe.io/new дебютный код Python3 совместим с python2 1. Используйте будущую функцию Каждая новая версия Python будет добавлять новые функции или вносить изменения в исходные функции. Некоторые изменения несовместимы со старой версией, то есть код, нормально работающий в текущей версии, может не работать нормально в следующей версии.
Python предоставляет модуль “функции” для импорта функций следующей новой версии в текущую версию, поэтому мы можем протестировать некоторые функции новой версии в текущей версии.
Например, если вы используете печать (“XXX”) python3 в python2.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 Преобразуйте код python2 в код python3. Большинство ответов в сети даются с помощью инструментов/скриптов/2to3.py скрипт в каталоге установки python;
Если он находится в системе Windows, 2to3.py находится в каталоге скриптов [Каталог установки Python или Anaconda] ;
Однако в системе Ubuntu 16.04 нет 2to3.py файл на Python 3.5.2, установленный через apt get install. В каталоге/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.