Search code examples
pythonurllibreadfile

python read file from a web URL


I am currently trying to read a txt file from a website.

My script so far is:

webFile = urllib.urlopen(currURL)

This way, I can work with the file. However, when I try to store the file (in webFile), I only get a link to the socket. Another solution I tried was to use read()

webFile = urllib.urlopen(currURL).read()

However this seems to remove the formating (\n, \t etc) are removed.

If I open the file like this:

 webFile = urllib.urlopen(currURL)

I can read it line by line:

for line in webFile:
    print line

This will should result in:

"this" 
"is" 
"a"
"textfile"

But I get:

't'
'h'
'i'
...

I wish to get the file on my computer, but maintain the format at the same time.


Solution

  • You should use readlines() to read entire line:

    response = urllib.urlopen(currURL)
    lines = response.readlines()
    for line in lines:
        .
        .
    

    But, i strongly recommend you to use requests library. Link here http://docs.python-requests.org/en/latest/