Simple Question : files and URLLIB

Richard Shea richardshea at fastmail.fm
Tue Oct 14 19:10:39 EDT 2003


Thanks to everyone for the info/feedback. In particular I didn't know
you could that ...

type(finA)

... business (which shows you how new to Python I am probably) but
it'll come in handy.

As I think you realised I had misunderstood exactly what urllib was
offering however the blah.read() approach is quite good enough. Just
out of curiousity though if 'tidy' demanded a file (rather than being
prepared to take a string as it is)would the only sure approach be to
...

f1=open('C:\\workfile.html','w')
strHTML= urllib.urlopen('http://www.python.org/').read()
f1.write(strHTML)
tidy(f1,strOut,None)

... that is to take the string that results from the read on urllib
file-like object and write it back out to a file ?

Just wondering ...

Thanks again for the information on my original question.

regards

richard.





richardshea at fastmail.fm (Richard Shea) wrote in message news:<282f826a.0310140203.d890865 at posting.google.com>...
> Hi - I'm new to Python. I've been trying to use URLLIB and the 'tidy'
> function (part of the mx.tidy package). There's one thing I'm having
> real difficulties understanding. When I did this ...
> 
> finA= urllib.urlopen('http://www.python.org/')
> foutA=open('C:\\testout.html','w')
> tidy(finA,foutA,None)
> 
> I get ...
> 
> Traceback (most recent call last):
>   File "<interactive input>", line 1, in ?
>   File "mx\Tidy\Tidy.py", line 38, in tidy
>     return mxTidy.tidy(input, output, errors, kws)
> TypeError: inputstream must be a file object or string
> 
> ... what I don't understand is surely the result of a urllib is a file
> object ? Isn't it ? To quote the manual at :
> 
> http://www.python.org/doc/current/lib/module-urllib.html
> 
> "If all went well, a file-like object is returned". I can make the
> tidy function happy but changing the code to read ...
> 
> finA= urllib.urlopen('http://www.python.org/').read()
> 
> ... I haven't had time to look into this properly yet but I suspect
> finA is now a string not a file handle ?
> 
> Anyway if anyone can throw light on this I would be grateful.
> 
> thanks
> 
> richard.shea.




More information about the Python-list mailing list