On 2020-08-26 14:22, Chris Green wrote:
I have the following line in Python 2:-

     msgstr = string.join(popmsg[1], "\n")      # popmsg[1] is a list 
containing the lines of the message

... so I changed it to:-

     s = "\n"
     msgstr = s.join(popmsg[1])      # popmsg[1] is a list containing the lines 
of the message

However this still doesn't work because popmsg[1] isn't a list of
strings, I get the error:-

     TypeError: sequence item 0: expected str instance, bytes found

So how do I do this?  I can see clumsy ways by a loop working through
the list in popmsg[1] but surely there must be a way that's as neat
and elegant as the Python 2 way was?

In Python 3, bytestring literals require the 'b' prefix:

    msgstr = b"\n".join(popmsg[1])
--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to