Yanıtlar:
Python'da bir IP kaynağından (HTTP, HTTPS, FTP) dosya işaretçisi benzeri bir nesne açan urllib2 yerleşik olarak bulunur.
import urllib2, os
# See http://data.vancouver.ca/datacatalogue/2009facetsGridSID.htm
rast_url = 'ftp://webftp.vancouver.ca/opendata/2009sid/J01.zip'
infp = urllib2.urlopen(rast_url)
Daha sonra baytları yerel olarak aktarabilir ve yazabilirsiniz (yani, indirebilirsiniz):
# Open a new file for writing, same filename as source
rast_fname = os.path.basename(rast_url)
outfp = open(rast_fname, 'wb')
# Transfer data .. this can take a while ...
outfp.write(infp.read())
outfp.close()
print('Your file is at ' + os.path.join(os.getcwd(), rast_fname))
Şimdi dosya ile ne istersen yapabilirsin.
Bunu başarmanın birkaç yolu. Wget'i aramak için alt işlem modülünü kullanabilirsiniz - bkz. Http://docs.python.org/library/subprocess.html
import subprocess
retcode = subprocess.call(["wget", args])
Veya urllib (veya urllib2) modülünü kullanarak dosyayı doğrudan indirmek için python kullanabilirsiniz - http://docs.python.org/library/urllib.html . Belgelerde örnekler var.
Bu önceki cevapta os.system çağrısını kullanan bir yöntem var.
os.system('wget %s' % (fullurl))