Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

time.strftime('%m-%d-%Y %H:%m:%S') to log is out of order

3 views
Skip to first unread message

davidj411

unread,
Jul 21, 2009, 5:00:51 PM7/21/09
to
I am using a recursive function to print the time and a few other
things on each pass. ( the function calculates size of file that is
being transferred and if not 100 % copied, it waits 20 secs and checks
again).

i would expect the time to be correct anytime it is used:

<--code below -->>
print time.strftime('%m-%d-%Y %H:%m:%S')
<--code above -->>

here is an example of what i am seeing:

16:07:16
16:07:36
16:07:56
16:07:16
16:07:36
16:07:56
16:07:16
16:07:36
16:07:56

Jon Clements

unread,
Jul 21, 2009, 5:09:31 PM7/21/09
to

I assume month, day and year are actually being output and that you've
removed it from your post.

Err, what else do you expect to happen if you're doing this
recursively?

Simon Forman

unread,
Jul 21, 2009, 5:29:14 PM7/21/09
to

Your output doesn't match your format string:

In [1]: import time

In [2]: print time.strftime('%m-%d-%Y %H:%m:%S')
07-21-2009 17:07:16

There's no way to tell why your output times seem to repeat without
seeing the code that surrounds your "print time.strftime('%m-%d-%Y %H:
%m:%S')" line.

Piet van Oostrum

unread,
Jul 21, 2009, 5:38:43 PM7/21/09
to
>>>>> davidj411 <davi...@gmail.com> (d) wrote:

>d> I am using a recursive function to print the time and a few other
>d> things on each pass. ( the function calculates size of file that is
>d> being transferred and if not 100 % copied, it waits 20 secs and checks
>d> again).

>d> i would expect the time to be correct anytime it is used:

>d> <--code below -->>
>d> print time.strftime('%m-%d-%Y %H:%m:%S')
>d> <--code above -->>

>d> here is an example of what i am seeing:

>d> 16:07:16
>d> 16:07:36
>d> 16:07:56
>d> 16:07:16
>d> 16:07:36
>d> 16:07:56
>d> 16:07:16
>d> 16:07:36
>d> 16:07:56

You probably meant: print time.strftime('%m-%d-%Y %H:%M:%S')
--
Piet van Oostrum <pi...@cs.uu.nl>
URL: http://pietvanoostrum.com [PGP 8DAE142BE17999C4]
Private email: pi...@vanoostrum.org

Jon Clements

unread,
Jul 21, 2009, 5:52:57 PM7/21/09
to
On 21 July, 22:38, Piet van Oostrum <p...@cs.uu.nl> wrote:

> >>>>> davidj411 <davidj...@gmail.com> (d) wrote:
> >d> I am using a recursive function to print the time and a few other
> >d> things on each pass. ( the function calculates size of file that is
> >d> being transferred and if not 100 % copied, it waits 20 secs and checks
> >d> again).
> >d> i would expect the time to be correct anytime it is used:
> >d> <--code below -->>
> >d> print time.strftime('%m-%d-%Y %H:%m:%S')
> >d> <--code above -->>
> >d> here is an example of what i am seeing:
> >d> 16:07:16
> >d> 16:07:36
> >d> 16:07:56
> >d> 16:07:16
> >d> 16:07:36
> >d> 16:07:56
> >d> 16:07:16
> >d> 16:07:36
> >d> 16:07:56
>
> You probably meant: print time.strftime('%m-%d-%Y %H:%M:%S')
> --
> Piet van Oostrum <p...@cs.uu.nl>

> URL:http://pietvanoostrum.com[PGP 8DAE142BE17999C4]
> Private email: p...@vanoostrum.org

Good spot!

davidj411

unread,
Jul 21, 2009, 5:53:29 PM7/21/09
to

sorry, yes, i did manually filter the output.

here is the function:

def log_out(msg,servername='std.out'):
print msg
open(log_dir + '\\' + servername + ".log",'a').write(servername + "-"
+ time.strftime('%m-%d-%Y %H:%M:%S') + " " + msg+'\n')

on each pass, it should output the newer time (whether recursive or
not, right) ?

MRAB

unread,
Jul 21, 2009, 6:04:39 PM7/21/09
to pytho...@python.org

Maybe it does, but you were outputting the month ("07") instead of the
minutes; the seconds were changing.

Piet van Oostrum

unread,
Jul 21, 2009, 6:11:38 PM7/21/09
to
>>>>> davidj411 <davi...@gmail.com> (d) wrote:
>>>
>>> > <--code below -->>
>>> > print time.strftime('%m-%d-%Y %H:%m:%S')
>>> > <--code above -->>

>d> here is the function:

>d> def log_out(msg,servername='std.out'):
>d> print msg
>d> open(log_dir + '\\' + servername + ".log",'a').write(servername + "-"
>d> + time.strftime('%m-%d-%Y %H:%M:%S') + " " + msg+'\n')

>d> on each pass, it should output the newer time (whether recursive or
>d> not, right) ?

How come your strftime is now different from the first posting? Are you
cheating?

If you want to ask a question about why your code is not working
properly there are a few important rules:

1. Copy and paste your code, and at least all relevant stuff (preferably
a minimal example that shows the problem). *DO NOT RETYPE THE CODE*

2. Copy and paste the output. *DO NOT RETYPE THE OUTPUT*

3. Tell what the expected or desired output is.


--
Piet van Oostrum <pi...@cs.uu.nl>

URL: http://pietvanoostrum.com [PGP 8DAE142BE17999C4]

Private email: pi...@vanoostrum.org

Simon Forman

unread,
Jul 21, 2009, 7:59:21 PM7/21/09
to

Well, as Piet van Oostrum pointed out, your problem in the first code
you posted was that you used '%m' rather than '%M' for the minutes.
(Good eye Van Oostrum!) But now in this function you seem to have the
correct '%M' field. Are you still having the same output after
changing that?


In any event, here's a rewritten version of that function that's a
little cleaner, FWIW.


from os.path import join
from time import strftime

format = '%m-%d-%Y %H:%M:%S'

def log_out(msg, servername='std.out'):
print msg
msg = "%s - %s %s\n" % (servername, strftime(format), msg)
log_file = open(join(log_dir, servername + ".log"), 'a')
try:
log_file.write(msg)
finally:
log_file.close()


But why not just use the logging module?

davidj411

unread,
Jul 22, 2009, 2:04:36 PM7/22/09
to
i never heard of the logging module, but this function seemed simple
enough.

i assume this link is what you refering to:
http://docs.python.org/library/logging.html

thanks for the helpful info. i think "Piet van Oostrum" has resolved
my issue. good eyes!

Piet van Oostrum

unread,
Jul 22, 2009, 5:24:34 PM7/22/09
to
>>>>> davidj411 <davi...@gmail.com> (d) wrote:

>d> i never heard of the logging module, but this function seemed simple
>d> enough.

>d> i assume this link is what you refering to:
>d> http://docs.python.org/library/logging.html

>d> thanks for the helpful info. i think "Piet van Oostrum" has resolved
>d> my issue. good eyes!

Without glasses I wouldn't have noticed it :=)

Ben

unread,
Jul 28, 2009, 4:24:15 PM7/28/09
to
On Jul 22, 1:04 pm, davidj411 <davidj...@gmail.com> wrote:

> i think "Piet van Oostrum" has resolved my issue.
> good eyes!

Well, he *is* Dutch...

-Ben

0 new messages