Когда я звоню print
с eval
:
def printList(myList):
maxDigits = len(str(len(myList)))
Format = '0{0}d'.format(maxDigits)
for i in myList:
eval('print "#{0:' + Format + '}".format(i+1), myList[i]')
, выдает ошибку:
print "#{0:01d}".format(i+1), myList[i]
^
SyntaxError: invalid syntax
Я пытался использовать this и переписал это:
def printList(myList):
maxDigits = len(str(len(myList)))
Format = '0{0}d'.format(maxDigits)
for i in myList:
obj = compile(src, '', 'exec')
eval('print "#{0:' + Format + '}".format(i+1), myList[i]')
но это жалуется на i
:
NameError: name 'i' is not defined
PS Я имею дело с python2.6