Dataframe to postgresql - Saving the dataframe to memory using StringIO
Grant Edwards
grant.b.edwards at gmail.com
Thu Oct 22 11:57:44 EDT 2020
On 2020-10-22, Chris Angelico <rosuav at gmail.com> wrote:
> On Fri, Oct 23, 2020 at 12:15 AM Shaozhong SHI <shishaozhong at gmail.com> wrote:
>> What should I know or watch out if I decide to move from Python 2.7
>> to Python 3?
>
> Key issues? Well, for starters, you don't have to worry about whether
> your strings are Unicode or not. They just are, unless you explicitly
> need them to be bytes.
The 'bytes' thing is important. If you use serial ports, sockets, or
anything else that's raw bytes, that code will need to be examined
carefully.
The usage of the 'bytes' type in 3.x isn't at all like 2.x:
Python2:
>>> bytes('abcd')
'abcd'
>>> bytes(3)
'3'
>>> bytes([0,1,2])
'[0, 1, 2]'
Python3:
>>> bytes('abcd')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: string argument without an encoding
>>> bytes(3)
b'\x00\x00\x00'
>>> bytes([0,1,2])
b'\x00\x01\x02
Python2:
>>> b'abcd'[2]
'c'
Python3:
>>> b'abcd'[2]
99
Moving from 2.x to 3.x isn't too bad, but trying to maintain
compatiblity with both is painful. At this point, I would probably
just abandon 2.x.
--
Grant
More information about the Python-list
mailing list