2016-08-02 5 views
1

Ich versuche derzeit eine Reihe von Sekunden in Minuten und Sekunden-Notation zu konvertieren. Ich verwende divmod und versuche, das Ergebnis in einen Datetime-Wert umzuwandeln. Ich habe den folgenden Code:datetime.strptime() gibt einen Formatierungsfehler mit% f

from datetime import datetime, timedelta 
processtime = 69.009 
m, s = divmod(processtime, 60) 
m= str(m) 
m=m[:1] 
s= str(s) 
s=s[:5] 
processstring= m+ ' ' + s 
datetimeprocess = datetime.strptime(processstring, "%M %S.f") 

jedoch jedes Mal, wenn ich dies tun, bekomme ich diesen Fehler:

ValueError: time data '1 9.009' does not match format '%M %S.f' 

Ich bin ziemlich sicher, dass ich das Format angepasst habe, und ich kann nicht herausfinden, was die Das Problem ist.

Antwort

1

Sie verpassen eine % vor f:

datetimeprocess = datetime.strptime(processstring, "%M %S.%f") 

Ergebnisse Test:

>>> from datetime import datetime, timedelta 
>>> processstring = '1 9.009' 
>>> datetimeprocess = datetime.strptime(processstring, "%M %S.%f") 
>>> print datetimeprocess 
1900-01-01 00:01:09.009000 
>>> 
+0

Oh mein Gott, danke, ich bin ein Idiot! – Kprakash

+0

@Kprakash Gern geschehen. Manchmal brauchen wir nur ein zweites Augenpaar :) – pah

Verwandte Themen