need to print seconds from the epoch including the millisecond

Ned Batchelder ned at nedbatchelder.com
Fri Dec 27 19:49:54 CET 2013


On 12/27/13 1:09 PM, matt.doolittle33 at gmail.com wrote:
> On Friday, December 27, 2013 11:27:58 AM UTC-5, Roy Smith wrote:
>> In article <0c33b7e4-edc9-4e1e-b919-fec210c92d4a at googlegroups.com>,
>>
>>   matt.doolittle33 at gmail.com wrote:
>>
>>
>>
>>> I am on Ubuntu 12.10.   I am still working with the 2 decimal places.
>>
>>> Sometime ago i had this issue and I forget how i solved it. maybe i used
>>
>>> datetime? thanks!
>>
>>
>>
>> That's strange.  Linux should give you time to the microsecond, or
>>
>> something in that range.
>>
>>
>>
>> Please post the *exact* code you're running.  The code you posted
>>
>> earlier is obviously only a fragment of some larger program, so we can
>>
>> only guess what's happening.  Assuming your program is in a file called
>>
>> "prog.py", run the following commands and copy-paste the output:
>>
>>
> i cant run it that way.  i tried using the python prompt in terminal but got nothing.  but here is all the code relevant to this issue:
> #all the imports
> import sys
> import posixpath
> import time
> from time import strftime
> from datetime import datetime
> import os
> import wx
> import cPickle as pickle
> import gnuradio.gr.gr_threading as _threading
>
>
> #the function that writes the time values
>   def update(self, field_values):
>
>          now = datetime.now()
>
>          #logger ---------------
>          #  new line to write on
>          self.logfile.write('\n')
>          #  write date, time, and seconds from the epoch
>          self.logfile.write('%s\t'%(strftime("%Y-%m-%d",)))
>          self.logfile.write('%s\t'%(now.strftime("%H:%M:%S",)))
>          self.logfile.write('%s\t'%(time.time()))
>          # list to store dictionary keys in tis order
>          keys = ["duid", "nac",  "tgid", "source", "algid", "kid"]
>          # loop through the keys in the right order
>          for k in keys:
>              #  get the value of the current key
>              f = field_values.get(k, None)
>              # if data unit has value...
>              if f:
>                  #  output the value with trailing tab
>                  self.logfile.write('%s\t'%(str(f)))
>              # if data unit doesnt have this value print a tab
>              else:
>                  self.logfile.write('\t')
>          #end logger ----------------
>
>          #if the field 'duid' == 'hdu', then clear fields
>          if field_values['duid'] == 'hdu':
>              self.clear()
>          elif field_values['duid'] == 'ldu1':
>              self.clear()
>          elif field_values['duid'] == 'ldu2':
>              self.clear()
>          #elif field_values['duid'] == 'tdu':
>           #   self.clear()
>          #loop through all TextCtrl fields storing the key/value pairs in k, v
>          for k,v in self.fields.items():
>              # get the dict value for this TextCtrl
>              f = field_values.get(k, None)
>              # if the value is empty then set the new value
>              if f:
>                  v.SetValue(f)
>
> #sample output in a .txt file:
>
> 2013-12-27	12:07:33	1388164053.18
> 2013-12-27	12:07:33	1388164053.36
> 2013-12-27	12:07:33	1388164053.54
> 2013-12-27	12:07:33	1388164053.73
> 2013-12-27	12:07:33	1388164053.91
> 2013-12-27	12:07:34	1388164054.11
> 2013-12-27	12:07:34	1388164054.28
> 2013-12-27	12:07:34	1388164054.48
> 2013-12-27	12:07:34	1388164054.66
> 2013-12-27	12:07:34	1388164054.84
> 2013-12-27	12:07:37	1388164057.62
> 2013-12-27	12:07:37	1388164057.81
> 2013-12-27	12:07:37	1388164057.99
> 2013-12-27	12:07:38	1388164058.18
> 2013-12-27	12:07:38	1388164058.37
> 2013-12-27	12:07:38	1388164058.54
> 2013-12-27	12:07:38	1388164058.73
> 2013-12-27	12:07:38	1388164058.92
>
> Thanks!
>

Instead of:

     "%s" % time.time()

try:

     "%.6f" % time.time()

%.6f is a formatting code meaning, floating-point number, 6 decimal places.

-- 
Ned Batchelder, http://nedbatchelder.com




More information about the Python-list mailing list