Ich benutze python-twitter, um das Datum eines Tweet zu erhalten und versuchen, es mit der time.strptime()
Funktion zu analysieren. Wenn ich es interaktiv mache, funktioniert alles gut. Wenn ich das Programm von meinem bash anrufe, bekomme ich ein ValueError
sagen (zum Beispiel):Fehler mit time.strptime() und python-twitter
time data u'Wed Aug 12 08:43:35 +0000 2009' does not match
format '%a %b %d %H:%M:%S +0000 %Y'
-Code sieht wie folgt aus:
api = twitter.Api(username='username', password='pw')
user = api.GetUser(username)
latest = user.GetStatus()
date = latest.GetCreatedAt()
date_struct = time.strptime(date, '%a %b %d %H:%M:%S +0000 %Y')
, die die Ausnahme oben genannten wirft.
Es funktioniert auf der interaktiven Shell:
>>> user = api.GetUser('username')
>>> latest = user.GetStatus()
>>> date = latest.GetCreatedAt()
>>> date
u'Wed Aug 12 08:15:10 +0000 2009'
>>>> struct = time.strptime(date, '%a %b %d %H:%M:%S +0000 %Y')
>>>> struct
time.struct_time(tm_year=2009, tm_mon=8, tm_mday=12, tm_hour=8, tm_min=15, tm_sec=10, tm_wday=2, tm_yday=224, tm_isdst=-1)
Jemand eine Ahnung, warum dies geschieht?
Ich benutze Ubuntu 9.04, Python 2.6.2 und Python-Twitter 0.6. Alle Dateien in Unicode.
Haben Sie vielleicht verschiedene Versionen von Python? Vergleichen Sie die Ausgabe von sys.version sowohl für die interaktive Shell als auch für den Standardinterpreter der bash-Shell. – Cide
Nein, interaktive Shell sagt "2.6.2 (release26-maint, 19. April 2009, 01:56:41) \ n [GCC 4.3.3]" und Bash sagt (python --version) "Python 2.6.2" – dermatthias