If I open a file using urllib2, like so:
remotefile = urllib2.urlopen('http://example.com/somefile.zip')
Is there an easy way to get the file name other then parsing the original URL?
EDIT: changed openfile to urlopen… not sure how that happened.
EDIT2: I ended up using:
filename = url.split('/')[-1].split('#')[0].split('?')[0]
Unless I’m mistaken, this should strip out all potential queries as well.
Did you mean urllib2.urlopen?
You could potentially lift the intended filename if the server was sending a Content-Disposition header by checking
remotefile.info()['Content-Disposition'], but as it is I think you’ll just have to parse the url.You could use
urlparse.urlsplit, but if you have any URLs like at the second example, you’ll end up having to pull the file name out yourself anyway:Might as well just do this: