Am 02.08.2013 12:54, schrieb matt.doolittl...@gmail.com:
I am using 2.7 on Ubuntu 12.10.  All I need to do is to print time with the 
microseconds.[...]

         #  write date and time and microseocnds
         self.logfile.write('%s\t'%(str(strftime("%Y-%m-%d", ))))
         self.logfile.write('%s\t'%(str(strftime("%H:%M:%S", ))))
         self.logfile.write('%s\t'%(str(time())))

the output looks like this:

2013-08-02      06:01:43       00:00:00 
2013-08-02      06:01:43       00:00:00                                 
2013-08-02      06:01:43       00:00:00                         
2013-08-02      06:01:43       00:00:00                                         
2013-08-02      06:01:43       00:00:00                                         

The output here and the code are surely not the same, provided that "time()" is the same as Python's "time.time()". That function will give you the time as a floating-point number and with as much precision as is available. You then only need the rest when dividing by one to get the fractional seconds.

BTW:
1. You have a race condition, you are retrieving the time thrice, which can and should yield different results for each call. Call it once, then format the results in multiple steps if you want. 2. Python's strftime() gives you a string already, calling str() on it is redundant. Also, formatting a string in order to then format it into another string is unnecessary overhead. Further, '%s' will implicitly invoke str() on the argument. Belt and suspenders anyone? :)

Good luck!

Uli


--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to