Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #32803

Re: problem with eval and time

From Dennis Lee Bieber <wlfraed@ix.netcom.com>
Subject Re: problem with eval and time
Date 2012-11-06 00:06 -0500
Organization > Bestiaria Support Staff <
References <932c348a-2670-44f0-a38b-4fddae577a0e@googlegroups.com>
Newsgroups comp.lang.python
Message-ID <mailman.3309.1352178382.27098.python-list@python.org> (permalink)

Show all headers | View raw


On Mon, 5 Nov 2012 19:32:41 -0800 (PST), Wincent
<ronggui.huang@gmail.com> declaimed the following in
gmane.comp.python.general:

> Dear all, I would like to convert tstr to representation of time, but encounter the following error. Is there a simple way to get what I want? Thanks.
>
	Well... you don't show an example of "what I want"...
 
> >>> import time
> >>> tstr = str(time.localtime())

	Did you look at what you are doing there?

>>> import time
>>> time.localtime()
time.struct_time(tm_year=2012, tm_mon=11, tm_mday=5, tm_hour=23,
tm_min=38, tm_sec=16, tm_wday=0, tm_yday=310, tm_isdst=0)
>>> str(time.localtime())
'time.struct_time(tm_year=2012, tm_mon=11, tm_mday=5, tm_hour=23,
tm_min=40, tm_sec=22, tm_wday=0, tm_yday=310, tm_isdst=0)'
>>> 

	You've created a struct_time object, then turned that into a string
representation.

> >>> eval(tstr)
> Traceback (most recent call last):
>   File "<stdin>", line 1, in <module>
>   File "<string>", line 1, in <module>
> TypeError: structseq() takes at most 2 arguments (9 given)

	Now you are trying to evaluate that string representation. But the
constructor form uses a /tuple/ of values...

>>> time.struct_time((2012, 11, 5, 23, 47, 32, 0, 310, 0))
time.struct_time(tm_year=2012, tm_mon=11, tm_mday=5, tm_hour=23,
tm_min=47, tm_sec=32, tm_wday=0, tm_yday=310, tm_isdst=0)
>>> 

... not a bunch of position/keyword arguments.

	I'd consider it a wart -- commonly the representation is valid for
reconstructing the data...

>>> time.mktime((2012, 11, 5, 23, 47, 32, 0, 310, 0))
1352177252.0
>>> t2 = time.localtime()
>>> t2
time.struct_time(tm_year=2012, tm_mon=11, tm_mday=6, tm_hour=0,
tm_min=3, tm_sec=52, tm_wday=1, tm_yday=311, tm_isdst=0)
>>> time.mktime(t2)
1352178232.0
>>> 

	But really, what do you mean by "representation of time"?

>>> time.asctime()
'Tue Nov 06 00:05:39 2012'
>>> 
-- 
	Wulfraed                 Dennis Lee Bieber         AF6VN
        wlfraed@ix.netcom.com    HTTP://wlfraed.home.netcom.com/

Back to comp.lang.python | Previous | NextPrevious in thread | Find similar | Unroll thread


Thread

problem with eval and time Wincent <ronggui.huang@gmail.com> - 2012-11-05 19:32 -0800
  Re: problem with eval and time alex23 <wuwei23@gmail.com> - 2012-11-05 20:22 -0800
    Re: problem with eval and time Wincent <ronggui.huang@gmail.com> - 2012-11-05 20:29 -0800
      Re: problem with eval and time Chris Angelico <rosuav@gmail.com> - 2012-11-06 15:38 +1100
      Re: problem with eval and time Dave Angel <d@davea.name> - 2012-11-05 23:42 -0500
  Re: problem with eval and time Dennis Lee Bieber <wlfraed@ix.netcom.com> - 2012-11-06 00:06 -0500

csiph-web