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

8 投票
1 回答
25369 浏览
提问于 2025-04-16 09:50

我可以用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()之前,先用这个符号处理字符串。

撰写回答