Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Python > Re: from datetime.datetime import today not working. python2.6.4on windows

Reply
Thread Tools

Re: from datetime.datetime import today not working. python2.6.4on windows

 
 
Steve Holden
Guest
Posts: n/a
 
      01-07-2010
Joshua Kordani wrote:
> Greetings all!
>
> So I'm reading through the manual and I get to the point where it talks
> about packages and how to import them. namely section 6.4 in the
> tutorial. I wont repeat the section here, but I want to understand
> whats going on in the following (as typed on my computer).
>
> Python 2.6.4 (r264:75708, Oct 26 2009, 08:23:19) [MSC v.1500 32 bit
> (Intel)] on
> win32
> Type "help", "copyright", "credits" or "license" for more information.
>>>> import datetime
>>>> dir(datetime)

> ['MAXYEAR', 'MINYEAR', '__doc__', '__name__', '__package__', 'date',
> 'datetime',
> 'datetime_CAPI', 'time', 'timedelta', 'tzinfo']
>>>> dir(datetime.datetime)

> ['__add__', '__class__', '__delattr__', '__doc__', '__eq__',
> '__format__', '__ge
> __', '__getattribute__', '__gt__', '__hash__', '__init__', '__le__',
> '__lt__', '
> __ne__', '__new__', '__radd__', '__reduce__', '__reduce_ex__',
> '__repr__', '__rs
> ub__', '__setattr__', '__sizeof__', '__str__', '__sub__',
> '__subclasshook__', 'a
> stimezone', 'combine', 'ctime', 'date', 'day', 'dst', 'fromordinal',
> 'fromtimest
> amp', 'hour', 'isocalendar', 'isoformat', 'isoweekday', 'max',
> 'microsecond', 'm
> in', 'minute', 'month', 'now', 'replace', 'resolution', 'second',
> 'strftime', 's
> trptime', 'time', 'timetuple', 'timetz', 'today', 'toordinal', 'tzinfo',
> 'tzname
> ', 'utcfromtimestamp', 'utcnow', 'utcoffset', 'utctimetuple', 'weekday',
> 'year']
>
>>>> from datetime.datetime import today

> Traceback (most recent call last):
> File "<stdin>", line 1, in <module>
> ImportError: No module named datetime
>>>>

>
> so dir on datetime shows symbols date, time, datetime,etc
> dir on datetime shows today, now, etc
>
> lets say for arguments sake that I want to just import the today
> function, according to the documentation, the line should be:
> from datetime.datetime import today.
>
> as you can see, that didn't work. why not?
>


Because datetime is a module, but datetime.datetime is a class. You can
import individual names from a module, but a class is a monolithic
all-or-nothing chunk.

There's the potential for confusion because Python also has "packages",
which are like modules but more structured: you can import a module from
a package:

>>> from xml import etree


or import the package module directly:

>>> import xml.etree)


You can also import a submodule from the module:

>>> from xml.etree import cElementTree


or import the submodule directly

>>> import xml.etree.cElementTree


You can even import a class from the submodule:

>>> from xml.etree.cElementTree import Element


but what you *can't* do is import the submodule's class directly:

>>> import xml.etree.cElementTree.Element

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named Element

However, what you did was import the datetime module (which is not a
package, and does not therefore contains submodules), and reference the
datetime class within that module (datetime.datetime), which is all OK.
But datetime.datetime is a class, not a module, so you can't import
anything from it. Neither can you import it directly:

>>> import datetime.datetime

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named datetime

(in the last line, the name "datetime" refers to the class, not themodule.

Hope this helps. You may learn a bit more by actually looking at the
source of the module, which probably lives in

C:\Python26\Lib\datetime.py

regards
Steve
--
Steve Holden +1 571 484 6266 +1 800 494 3119
PyCon is coming! Atlanta, Feb 2010 http://us.pycon.org/
Holden Web LLC http://www.holdenweb.com/
UPCOMING EVENTS: http://holdenweb.eventbrite.com/

 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
from datetime.datetime import today not working. python2.6.4 onwindows Joshua Kordani Python 0 01-07-2010 05:07 AM
Notice the date today? What happened 40 years ago today? richard Computer Support 10 07-29-2009 08:20 PM
import parser does not import parser.py in same dir on win Joel Hedlund Python 2 11-11-2006 03:46 PM
import parser does not import parser.py in same dir on win Joel Hedlund Python 0 11-11-2006 11:34 AM
IMPORT STATIC; Why is "import static" file scope? Why not class scope? Paul Opal Java 12 10-10-2004 11:01 PM



Advertisments