Jan Danielsson wrote: > Hello all, > > I have a list of servers which an application connects to. If the > connection fails, the application should mark the server as temporarily > unavailable, and should try to use the server again after x units of time. > > In C, I would do this: > > server.invalidUntil = time(NULL) + 5*60; // five minute delay > > ..and the check: > > if(time(NULL) > server.invalidUtil) > { > // use server > } > > So the whole thing very simple... But how do I do that in Python? > > I have found datetime.datetime.now(), but I don't understand what > "format" it returns the time in. I assume it's an object of some sort..
Everything in Python is an object. Objects can be inspected. The builtin function repr(obj) gives a diagnostic and often compilable REPResentation of the object, and str(obj) [think STRing] gives a "pretty" picture. Sometimes repr() and str() produce the same results. To understand what "format" it's in, read the documentation; in this case, it's found at: http://www.python.org/doc/2.4.1/lib/datetime-datetime.html and play around with the command-line interpreter (example below) or your favourite IDE. >>> import datetime >>> t1 = datetime.datetime.now(); t2 = t1 + datetime.timedelta(minutes=5) [somewhat later] >>> t3 = datetime.datetime.now() >>> for x in t1, t2, t3: print str(x), repr(x) ... 2005-06-10 07:39:15.312000 datetime.datetime(2005, 6, 10, 7, 39, 15, 312000) 2005-06-10 07:44:15.312000 datetime.datetime(2005, 6, 10, 7, 44, 15, 312000) 2005-06-10 07:56:03.031000 datetime.datetime(2005, 6, 10, 7, 56, 3, 31000) >>> t3 > t2 True > But how do I do if I want the current time as an integer (unix > timestamp) in Python? The Python time module would be a good starting point. -- http://mail.python.org/mailman/listinfo/python-list