2 Основное использование

Рассмотрим следующий код Python2.x Сохраните файл как example.py

def greet (name): вывести «Hello, {0}!». format (name) print «Как вас зовут?» имя = raw_input () приветствовать (имя)

В приведенном выше файле есть несколько несовместимых строк. Не raw_input() метод был заменен на input() в Python 3.x и print больше не утверждение, а функция. Этот код можно преобразовать в код Python 3.x с помощью инструмента 2to3.

Юникс

 $ 2to3 example.py
 

Windows

 > path/to/2to3.py example.py

 

Выполнение приведенного выше кода выведет различия по сравнению с исходным файлом, как показано ниже.

 RefactoringTool: Skipping implicit fixer: buffer
RefactoringTool: Skipping implicit fixer: idioms
RefactoringTool: Skipping implicit fixer: set_literal
RefactoringTool: Skipping implicit fixer: ws_comma
RefactoringTool: Refactored example.py
--- example.py    (original)
+++ example.py    (refactored)
@@ -1,5 +1,5 @@
 def greet(name):
-    print "Hello, {0}!".format(name)
-print "What's your name?"
-name = raw_input()
+    print("Hello, {0}!".format(name))
+print("What's your name?")
+name = input()
 greet(name)
RefactoringTool: Files that need to be modified:
RefactoringTool: example.py

 

Изменения могут быть записаны обратно в исходный файл с помощью флага -w. Резервная копия исходного файла с именем example.py.bak создается, если флаг -n не дается.

Юникс

 $ 2to3 -w example.py
 

Windows

 > path/to/2to3.py -w example.py

 

Теперь example.py файл был преобразован из Python 2.x в Python кода 3.x.

После завершения, example.py будет содержать следующий действительный код Python3.x:

def greet (name): print («Здравствуйте, {0}!». format (name)) print («Как вас зовут?») name = input () greet (name)