Рубрики
Uncategorized

Код Nozo Technologies Python 3 Совместим с Python 2

Автор оригинала: David Wong.

Обновлен Официальный Сайт Электронных Данных Соревнований 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.