Python (';语法%(名称、名称、名称)';,<;打开文件';<;stderr>;';,模式';w';在0x01CE60D0>;)?

Python (';语法%(名称、名称、名称)';,<;打开文件';<;stderr>;';,模式';w';在0x01CE60D0>;)?,python,sys,Python,Sys,为什么在运行这行代码时: print ("syntax %(name,name,name)",sys.stderr) 我得到以下错误: ('syntax %(name,name,name)', <open file '<stderr>', mode 'w' at 0x01CE60D0>) ('syntax%(名称、名称、名称)'),) 这不是错误 当您执行sys.stderr时,您正在打印它的表示形式,即。我不熟悉sys模块,所以我不确定您应该做什么。但是,它的文档链

为什么在运行这行代码时:

print ("syntax %(name,name,name)",sys.stderr)
我得到以下错误:

('syntax %(name,name,name)', <open file '<stderr>', mode 'w' at 0x01CE60D0>)
('syntax%(名称、名称、名称)'),)
这不是错误


当您执行
sys.stderr
时,您正在打印它的表示形式,即
。我不熟悉
sys
模块,所以我不确定您应该做什么。但是,它的文档链接。

您似乎在使用Python2.x。这里,
print
是一条语句,您正在将一个元组打印到
stdout

你可以用它实现你想要的

print >> sys.stderr, "syntax %(name,name,name)"
但是这个字符串对我来说似乎很奇怪,尤其是
%(name,name,name)
部分。但由于你没有告诉我们你真正想打印什么,这就是你所能做的

如果要将
print()
作为函数使用,无论是在Python 3.x中还是在使用了来自未来导入打印函数的

另一个问题似乎是您正在打印的字符串:

"syntax %(name,name,name)"
在我看来,您省略了参数并使用了错误的语法

所以,取决于你想做什么

"syntax %(name)s%(name)s%(name)s" % some_dict_having_name_as_a_key

可能是你想要的。

这很好,但如果你解释一下你想做什么,那真的会有帮助吗?你以为会发生什么?还有其他代码可以帮助我们吗?包括它。你在寻找这是一个错误吗?
"syntax %(name)s%(name)s%(name)s" % some_dict_having_name_as_a_key