10

I have a code:

print "bug " + data[str.find(data,'%')+2:-1]
temp = data[str.find(data,'%')+2:-1]
time.sleep(1)
print "bug tuple " + tuple(temp.split(', '))

And after this my application displays:

bug 1, 2, 3 Traceback (most recent call last): File "C:\Python26\Lib\site-packages\pythonwin\pywin\framework\scriptutils.py", line 312, in RunScript exec codeObject in main.dict File "C:\Documents and Settings\k.pawlowski\Desktop\atsserver.py", line 165, in print "bug tuple " + tuple(temp.split(', ')) TypeError: cannot concatenate 'str' and 'tuple' objects

I don't know what I make wrong. print tuple('1, 2, 3'.split(', ')) works properly.

1
  • 2
    When in doubt, test it in the interactive interpreter!! >>> ftw! Commented Aug 31, 2010 at 14:00

5 Answers 5

19
print tuple(something)

may work because print will do an implicit str() on the argument, but and expression like

"" + ()

does not work. The fact that you can print them individually doesn't make a difference, you can't concatenate a string and a tuple, you have to convert either one of them. I.e.

print "foo" + str(tuple("bar"))

However, depending on str() for conversion probably won't give the desired results. Join them neatly using a separator using ",".join for example

Sign up to request clarification or add additional context in comments.

Comments

3

Why do you think it should work?

try:

print "bug tuple " + str(tuple(temp.split(', ')))

Comments

2

Change it to

print "bug tuple ", tuple(temp.split(', '))

1 Comment

this is it ;) thanks. I am stupid after many hours of coding.. ;)
0

Why tuple by splitting, you have string for one ready except the paranthesis, why not:

print "bug tuple (%s)" % '1, 2, 3'

Comments

0

No need of tuple(), following works,

outstr = str((w,t)) # (w,t) is my tuple

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.