Die scheinbare Genauigkeit ist die, die die Timerfunktion des Systems ausspuckt. Wie genau die Zeitmessung wirklich ist -- auf deinem System, mit entsprechenden Hintergrundprozessen und I/O-Last, kannst du am besten feststellen, indem du ein bekanntes Snippet einige Male durchlaufen lässt und die Standardabweichung bestimmst.wuf hat geschrieben:Kann eine Zeitmessung mittels 'timeit' als genau bezeichnet werden da scheinbar mit Nanosekunden-Auflösung gemessen wird?
Ladezeiten bei urllib messen
- birkenfeld
- Python-Forum Veteran
- Beiträge: 1603
- Registriert: Montag 20. März 2006, 15:29
- Wohnort: Die aufstrebende Universitätsstadt bei München
-
- User
- Beiträge: 106
- Registriert: Freitag 14. September 2007, 23:02
- Wohnort: Teltow
- Kontaktdaten:
Habe mich jetzt für das Python-Downgrade entschieden und es funktioniert. Werde ggf. nochmal versuchen in einer VM mir das mit 2.6 zusammen zufrickeln... aber momentan habe ich keine lustLeonidas hat geschrieben:Dann gibt es zwei Möglichkeiten: Python 2.5 nehmen oder MySQLdb-Quellen runterladen, MySQL herunterladen (und hoffen dass die Include-Dateien dabei sind) und einen Compiler herunterladen (Visual C++ Express sollte reichen, oder MinGW. Je nach Software ist der eine oder der andere Compiler brauchbarer).bankkind hat geschrieben:Weil für mich, der das noch nicht gemacht hat, ist das gefrickel und mir fehlt da leider eine vernünftige Anleitung.
Wenn du das hast machst du im MySQLdb-Ordner ein ``python setup.py build_ext`` und korrigierst solange an den Sachen rum (fehlende Include-Dateien etc) bis es dann kompiliert. Ich kann dir da auch keine genaue Anleitung geben, weil die genauen Schritte immer etwas unterschiedlich sind, je nach Compiler und Software die man kompilieren will.
-
- User
- Beiträge: 106
- Registriert: Freitag 14. September 2007, 23:02
- Wohnort: Teltow
- Kontaktdaten:
Code: Alles auswählen
import urllib
import time
url = ('http://www.ebay.de',
'http://www.google.de',
'http://www.wikipedia.de')
for a in url:
start = time.clock()
a = urllib.urlopen(url)
ende = time.clock()
result = a + ':%1.2f Sekunden' % (ende - start)
print result
Schau dir mal genau an was du in Zeile 10 machst. Du gibst das tupel als solches bei urlib an und überschreibst mit dem Ergebnis a. Du willst aber eigentlich a als argument von urlopen (und dieses dann auch einem anderen Namen als url zuweisen - sonst würdest du dein tupel mit Adressen überschreiben).
Klarer Fall von schechten Variablennamen...
Klarer Fall von schechten Variablennamen...
- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
Nein, klarer Fall von selbst in den Fuß geschossenHerrHagen hat geschrieben:Klarer Fall von schechten Variablennamen...
Bei Zeile 12 dürfte es nochmal krachen, bzw die Ausgabe ist nicht das was du haben willst, aber auch hier hilft dir HerrHagens Post.
-
- User
- Beiträge: 106
- Registriert: Freitag 14. September 2007, 23:02
- Wohnort: Teltow
- Kontaktdaten:
So... Wenn ich jetzt noch wüsste wie ich ein TimeOut realisieren könnte...
Ich dachte an diesen Ansatz... das passt jetz zwar nicht, aber ich dachte mir ungefähr so müsste ich es umsetzen. Jemand eine andere Idee?
Code: Alles auswählen
start = time.clock()
urllib.urlopen(a)
if (ende - start) > 5:
print 'TimeOut'
ende = time.clock()
- Sr4l
- User
- Beiträge: 1091
- Registriert: Donnerstag 28. Dezember 2006, 20:02
- Wohnort: Kassel
- Kontaktdaten:
Ist schon einfach so zu finden
Code: Alles auswählen
import urllib2
x = urllib2.urlopen("http://python-forum.de/")
print dir(x)
print x.code