Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #32803
| 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) |
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 | Next — Previous in thread | Find similar | Unroll 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