Estou tentando aprender Python (3 para ser mais específico) e estou recebendo este erro:
ValueError: zero length field name in format
Eu pesquisei no Google e descobri que você precisa especificar os números:
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))
E não é como o tutorial (do lynda.com) realmente diz para fazer:
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))
O tutorial que estou a seguir tem Python 3.1 e estou usando 3.2, e o que eu li sobre esse erro é que isso só acontece em <3.1 (3.0). Eles desfizeram isso no 3.2, ou estou fazendo algo errado?
Além disso, fale devagar;) esta é literalmente minha primeira noite aprendendo Python e apenas o segundo "script" que escrevi em Python.
Respostas:
Eu acho que você está executando o python 2.6 por acidente de alguma forma.
Esse recurso está disponível apenas para pelo menos 3.1 se você estiver usando o python 3 ou 2.7 se estiver usando o python 2.
fonte
#! /usr/local/bin/python3
depois de olhar tudo de novo. Existem 3 locais diferentes de instalações python no Mac -_- wtf.Python 2.6 e 3.0 requerem os números de campo. No Python 2.7 e posterior e 3.1 e posterior, eles podem ser omitidos.
fonte
python3.4 -c 'print("|{}|{}|".format(3,4))'
mas aparentemente o 3.0 não o possui (3.1 e posterior). Vou esclarecer minha resposta.Se você estiver usando o Eclipse, consulte Janela -> Preferências -> PyDev -> Intérprete - Python. Lá você tem uma lista de intérpretes (com nome e local). Se, no seu projeto atual, você estiver usando um interpretador, localizado por exemplo em / usr / bin / python, provavelmente executando / usr / bin / python -V, o que lhe dará algo como "Python 2.6.6". E há a sua resposta, como Winston Ewert escreveu.
(você pode adicionar um novo interpretador simplesmente clicando no botão "Novo ..." e fornecendo / usr / bin / python3 como "local". Em seguida, você provavelmente precisará alterar as configurações do seu projeto (Preferências -> PyDev - Intérprete / Gramática).
fonte