Elektro:
el mensaje aclara python 3 por lo tanto:
name = str(input("Write your name: "))[:8]
el "str" es una redundancia, input devuelve una cadena
print name
"print" es una función y como tal no funciona sin "()"
edito:
me olvidé, si bien "input" no trae como controlar el largo, si se puede hacer una función que haga lo mismo y se corte al llegar a la cantidad de caracteres deseados, lo cual es muy simple.
de hecho es algo así:
#-*- coding:utf-8 -*-
import msvcrt
def input_corto(msj=">>>",largo=8):#obvio se puede cambiar al declararlo
print(msj)
contador= 0
cadena =""
while contador < largo:
if msvcrt.kbhit():
ch = str(msvcrt.getche(),'utf -8')
if ch == '\r':
break
else:
cadena+=ch
contador+= 1
print()
return cadena
prueba=input_corto("Escribe tu nombre: ")
if len(prueba) < 8:
print("excelente")
input("Salir")
no conteste antes que otros temas porque no lo vi, ya que no está en scripting.