¿Qué es el AttributeError en este código? Pathon 3.4

# Do the fun! def fire(self): self.printHeader() print ("Hitting webserver in mode '{0}' with {1} workers running {2} connections each. Hit CTRL+C to cancel.").format(self.method, self.nr_workers, self.nr_sockets) if DEBUG: print ("Starting {0} concurrent workers").format(self.nr_workers) 

AttributEerror: el objeto ‘NoneType’ no tiene atributo ‘formato’

introduzca la descripción de la imagen aquí

Usted está formateando después de que se cierre la statement de impresión

 print (x).format(something) # ^ Move this parentheses to end 

Lo que necesitas es esto:

 print ("Starting {0} concurrent workers".format(self.nr_workers)) # ^ here 

En Python 2, sin embargo, no habría importado:

 >>> print ("Starting {0} concurrent workers").format(5) Starting 5 concurrent workers 

Ya que está usando Python 3, los paréntesis son parte de la llamada a la función print() . Si estuvieras en Python 2, simplemente estarían agrupando la cadena (innecesariamente, podría agregar). Lo ilustraré con paréntesis adicionales:

Lo que está sucediendo a primera vista, y lo haría en Python 2:

 print ( ("Starting {0} concurrent workers").format(self.nr_workers) ) 

Lo que realmente está sucediendo, ya que estás usando Python 3:

 (print("Starting {0} concurrent workers")).format(self.nr_workers) 

Como print() llamadas print() devuelven None , está intentando usar format() en None y está fallando.

Para formatear la cadena real (usando paréntesis estilísticamente apropiados), coloque el formato dentro de la llamada de impresión.

 print("Starting {0} concurrent workers".format(self.nr_workers))