Я пытаюсь изучить Python (точнее, 3) и получаю эту ошибку:
ValueError: zero length field name in format
Я погуглил и выяснил, что вам нужно указать числа:
a, b = 0, 1
if a < b:
print('a ({0}) is less than b ({1})'.format(a, b))
else:
print('a ({0}) is not less than b ({1})'.format(a, b))
И не так, как в учебнике (с сайта lynda.com) на самом деле говорится:
a, b = 0, 1
if a < b:
print('a ({}) is less than b ({})'.format(a, b))
else:
print('a ({}) is not less than b ({})'.format(a, b))
Следующее руководство имеет Python 3.1, а я использую 3.2, и что я читал об этой ошибке, так это то, что это происходит только в <3.1 (3.0). Они отменили это в 3.2, или я что-то делаю не так?
Кроме того, говорите медленно;) это буквально моя первая ночь изучения Python и только второй «сценарий», который я написал на Python.
Ответы:
Я собираюсь предположить, что вы как-то случайно запускаете python 2.6.
Эта функция доступна не ниже 3.1, если вы используете python 3, или 2.7, если вы используете python 2.
источник
#! /usr/local/bin/python3
осмотрев все. Существует 3 разных места установки python на Mac -_- wtf.Python 2.6 и 3.0 требуют номеров полей. В Python 2.7 и новее и 3.1 и новее их можно не указывать.
источник
python3.4 -c 'print("|{}|{}|".format(3,4))'
но, по-видимому, в версии 3.0 этого нет (в версии 3.1 и более поздних). Уточню свой ответ.Если вы используете Eclipse, вам следует заглянуть в Window -> Preferences -> PyDev -> Interpreter - Python. Вот список переводчиков (с указанием фамилии и местонахождения). Если для вашего текущего проекта вы используете интерпретатор, который находится, например, в / usr / bin / python, то, вероятно, выполнение / usr / bin / python -V даст вам что-то вроде «Python 2.6.6». И есть ваш ответ, как написал Уинстон Эверт.
(вы можете добавить новый интерпретатор, просто нажав кнопку «Создать ...» и указав / usr / bin / python3 в качестве «местоположения». Тогда вам, вероятно, придется изменить настройки вашего проекта (Настройки -> PyDev - Интерпретатор / Грамматика).
источник