Le vendredi 8 mai 2015 15:11:56 UTC+2, Peter Otten a écrit : > > So, this works perfectly fine and fast. But it scares me that it's > > deprecated and Python 4 will not support it anymore. > > Hm, this doesn't even work with Python 3:
My mistake. I should have tested better. > >>> data = array.array("u", u"x"*1000) > >>> data[100] = "y" > >>> re.search("y", data) > Traceback (most recent call last): > File "<stdin>", line 1, in <module> > File "/usr/lib/python3.4/re.py", line 166, in search > return _compile(pattern, flags).search(string) > TypeError: can't use a string pattern on a bytes-like object > > You can search for bytes > > >>> re.search(b"y", data) > <_sre.SRE_Match object; span=(400, 401), match=b'y'> > >>> data[101] = "z" > >>> re.search(b"y", data) > <_sre.SRE_Match object; span=(400, 401), match=b'y'> > >>> re.search(b"yz", data) > >>> re.search(b"y\0\0\0z", data) > <_sre.SRE_Match object; span=(400, 405), match=b'y\x00\x00\x00z'> > > but if that is good enough you can use a bytearray in the first place. Maybe I'll try that. Thanks for the suggestions! Jonathan -- https://mail.python.org/mailman/listinfo/python-list