print在同一行上以逗号分隔值打印

时间:2013-08-28 10:36:17

标签: python syntax-error

我无法在不打印新行的情况下在单行上打印输出,以下代码显示语法错误:

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循环中,我需要以逗号分隔列表的形式打印输出。 那么这里的问题是什么?

2 个答案:

答案 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=", "。我的猜测是第二个单引号实际上并不是你想要的引用(即它是反引号而不是单引号或类似的东西)。

或许在你的编辑中你看不到有非法字符。