If you do not want to use a flat file, you can use BioServices Python package, which will retrieve the information from UniProt web site:
from bioservices import UniProt
u = UniProt()
results = u.search("organism:10090+and+reviewed:yes", columns="id,entry name", limit=2)
print(results)
the result variable is a string that you need to parse. it contains the uniprot entries and uniprot entry names. The previous command retrieve only 2 entries but if you remove the argument limit=2, you will get all of them.
For instance, to get all entry names, you would type:
results = u.search("organism:10090+and+reviewed:yes", columns="id,entry name", limit=2)
entries = [x.split()[1] for x in res.strip().split("\n")[1:]]
This takes a few seconds to download the 17000 entries. If you remove "reviewed:yes", it takes about 30 seconds to a minute.
I hope this is helpful.
For installation with python 2.7, just type:
pip install bioservices