当我从
eval
中调用print
时: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
我试图利用这份代码并进行了修改:
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
顺便说一下,我正在处理 python2.6
eval
,因为我想要替换格式规范。请看Format =
字符串。 - Adobe