在Python中使用sys.stdout.write嵌入变量
我可以用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 个回答
16
你把括号用错了。应该是
i=10
sys.stdout.write("Value is %s" % i)
%
这个符号是用来处理字符串和一个元组(或者一个单独的对象)的。你试着把这个符号用在了sys.stdout.write()
的返回值上,但它返回的是None。你需要在把字符串传给sys.stdout.write()
之前,先用这个符号处理字符串。