在Python中使用sys.stdout.write嵌入变量

时间:2011-01-12 14:18:58

标签: python python-2.x

我可以用这种方式在python中使用print语句嵌入变量

i=10
print "Value is %s" % (i)

输出

Value is 10

但是这样做

i=10
sys.stdout.write ("Value is %s") % (i)

给我以下错误

TypeError: unsupported operand type(s) for %: 'NoneType' and 'int'

我可以使用sys.stdout.write而不是print来嵌入变量吗?

1 个答案:

答案 0 :(得分:16)

你的括号错了。应该是

i=10
sys.stdout.write("Value is %s" % i)

%运算符将字符串和元组(或单个对象)作为参数。您尝试将运算符应用于sys.stdout.write()的返回值,即无。在将字符串传递给sys.stdout.write()之前,您需要将其应用于字符串。