Spoiler to Python Challenge (help!!!)
hancock at anansispaceworks.com
Tue Sep 27 17:42:20 CEST 2005
On Tuesday 27 September 2005 08:32 am, Ian Vincent wrote:
> I have a webpage with a BZ2 compressed text embedded in it looking like:
> 'BZh91AY&SYA\xaf\x82\r\x00\x00\x01\x01\x80\x02\xc0\x02\x00 \x00!\x9ah3M
> Now, if I simply copy and paste this into Python and decompress it - it
> works a treat.
> However, I want to read the file containing this data, extract the data
> and decompress it and this for some reason does not work.
> This gives me a user string of:
> BZh91AY&SYA\xaf\x82\r\x00\x00\x01\x01\x80\x02\xc0\x02\x00 \x00!\x9ah3M
> But if I put this into the decompression function, I get a error of
> 'IOError: invalid data stream'.
> I know it is the escape characters but how do I get these to be correctly
> converted into a string compatible with bz2.decompress()?
Took me a long time to figure out what you meant. ;-)
So the string actually contains the backslashes, not the escaped characters.
(which I take it is what your sample data encoded -- though I can't help
but notice it is actually much shorter than the "compressed" version. ;-)).
This may have some security issues, though, since it evaluates essentially
any expression given for user. I'd be interested to know if someone
knows a more secure way.
Terry Hancock ( hancock at anansispaceworks.com )
Anansi Spaceworks http://www.anansispaceworks.com
More information about the Python-list