我无法在不打印新行的情况下在单行上打印输出,以下代码显示语法错误:
print( "tiers found:"+eval("str.lower(tier.attrib['TIER_ID'])"), end=', ')
^
SyntaxError: invalid syntax
但这很好用:
print( "tiers found:"+eval("str.lower(tier.attrib['TIER_ID'])"))
print语句在for循环中,我需要以逗号分隔列表的形式打印输出。 那么这里的问题是什么?
答案 0 :(得分:3)
为什么在完全合理的陈述中使用eval?
from __future__ import print_function
print('tiers found: {0}'.format(tier.attrib['TIER_ID'].lower()), end=',')
答案 1 :(得分:0)
一个原因可能是第一段代码是用Python 2执行的,第二段代码是用Python 3执行的。
如果不是,请尝试end=", "
。我的猜测是第二个单引号实际上并不是你想要的引用(即它是反引号而不是单引号或类似的东西)。
或许在你的编辑中你看不到有非法字符。