Я использую новую печать из Python 3.x, и я заметил, что следующий код не компилирует из-за end=' '
.
from __future__ import print_function
import sys
if sys.hexversion < 0x02060000:
raise Exception("py too old")
...
print("x",end=" ") # fails to compile with py24
Как я могу продолжить использовать новый синтаксис, но сделать сбои сценария приятно? Действительно ли это обязательно, чтобы назвать другой сценарий и использовать только безопасный синтаксис в этом?
В этом вопросе есть несколько предложений, но похоже, что это нелегко. Вам нужно будет создать сценарий-оболочку.
Один из способов - написать модуль с помощью оператора печати python 2.x, а затем, когда вы захотите перенести его на python 3, вы воспользуетесь сценарием 2to3. Я думаю, что есть сценарии для преобразования 3to2, хотя они кажутся менее зрелыми, чем 2to3.
В любом случае, в более крупных сценариях вы всегда должны разделять логику предметной области и ввод / вывод; Таким образом, все операторы / функции печати объединяются в один файл. Для ведения журнала следует использовать модуль ведения журнала.