我有一个代码:
print "bug " + data[str.find(data,'%')+2:-1]
temp = data[str.find(data,'%')+2:-1]
time.sleep(1)
print "bug tuple " + tuple(temp.split(', '))
然后我的应用程序显示:
错误1,2,3 追溯(最近的 最后打电话):文件 “C:\ Python26 \ LIB \站点包\ PythonWin的\ pywin \框架\ scriptutils.py” 第三行,在RunScript中 exec codeObject在 main 。 dict 文件“C:\ Documents and 设置\ k.pawlowski \桌面\ atsserver.py” 第165行,in print“bug tuple”+ tuple(temp.split(','))TypeError: 无法连接'str'和'tuple' 对象
我不知道我做错了什么。 print元组('1,2,3'.split(','))正常工作。
答案 0 :(得分:16)
print tuple(something)
可能有效,因为print会对参数执行隐式str(),但表达式如
"" + ()
不起作用。你可以单独打印它们的事实并没有什么区别,你不能连接一个字符串和一个元组,你必须转换它们中的任何一个。即。
print "foo" + str(tuple("bar"))
但是,根据str()进行转换可能不会产生预期的结果。使用“,”加入例如
,使用分隔符整齐地加入它们答案 1 :(得分:3)
为什么你认为它应该有效?
尝试:
print "bug tuple " + str(tuple(temp.split(', ')))
答案 2 :(得分:2)
将其更改为
print "bug tuple ", tuple(temp.split(', '))
答案 3 :(得分:0)
为什么通过拆分进行元组排序,除了括号外,你有一个字符串准备就绪,为什么不呢:
print "bug tuple (%s)" % '1, 2, 3'
答案 4 :(得分:0)
无需tuple()
,以下作品,
outstr = str((w,t)) # (w,t) is my tuple