[Python-de] wget -> pget
Gerhard Häring
haering_python at gmx.de
Tue Jul 2 21:35:41 EDT 2002
* Andreas Nadler <python at biopop.de> [2002-07-02 19:47 +0200]:
> Das oeffnen und schliessen von Dateien ist jetzt gar nicht so das
> Problem. Mir geht es darum auf einer Seite *.jpgs oder aehnliches zu
> speichern.
Wie gesagt, mit urllib.urlretrieve() geht das Lesen von Web/FTP/... und
lokale Schreiben in _einem_ Aufruf.
> Wenn ich die mit readline oder readlines oeffne und dann versuche auf
> der Festplatte abzulegen, dann sieht das alles nicht so wie davor aus.
Es sind halt Binärdaten, und durch readline/readlines änderst du wohl
den Zeilenumbruch.
> Vielleicht kann mir dabei noch jemand helfen. Aber schon mal Dank fuer schon
> eingegangene Hilfe.
>
> Hier eine Bsp. von Lutz:
>
> <----- schnipp ----->
>
> import urllib
>
> page = urllib.urlopen("http://python.org").readlines()
>
> f = open ("datei", "w")
> for line in page:
> f.write(line)
> f.close()
Kurzversion:
urllib.urlretrieve("http://python.org", "datei")
Langversion:
page = urllib.urlopen("http://python.org").read()
f = open("datei", "wb") # Binäry-Flag nur für Windows interessant
f.write(page)
f.close()
page.close()
Wenn du befürchtest, dass die runtergeladene Datei _riesig_ sein könnte
und du blockweise lesen willst (ungetestet):
inf = urllib.urlopen("http://python.org")
outf = open("datei", "wb")
BLOCKSIZE = 1024
while 1:
block = inf.read(BLOCKSIZE)
if not block:
break
ouf.write(block)
inf.close()
outf.close()
Gerhard
--
This sig powered by Python!
Außentemperatur in München: 14.9 °C Wind: 2.3 m/s
More information about the Python-de
mailing list