关于from import的问题

关于from import的问题

写了一个发mail的程序
包是这样声明的
import email
代码中调用是
email.MIMEMultipart.MIMEMultipart()
email.MIMEText.MIMEText(self.message, 'plain', 'utf-8')

在windows python2.5上运行没有问题,但是在linux python2.4下面报错
AttributeError: 'module' object has no attribute 'MIMEMultipart'
起初以为是系统的问题,结果suse和debain上面都是这样

声明的地方换成
from email.MIMEMultipart import MIMEMultipart
from email.MIMEText import MIMEText
代码改为
MIMEMultipart()
MIMEText(self.message, 'plain', 'utf-8')
后问题就解决了

请问这个是什么原因?



还有一个问题是我看文档上写的是
class MIMEMultipart( [subtype[, boundary[, _subparts[, _params]]]])
Module: email.mime.multipart
为什么代码是from email.MIMEMultipart import MIMEMultipart呢?
俺通常使用第二种写法。
是不是你的当前目录下有个email.py所以跟python自带的冲突了?
不会的,没有,只有这一个文件


QUOTE:
原帖由 clyman 于 2008-10-23 15:12 发表
写了一个发mail的程序
包是这样声明的
import email
代码中调用是
email.MIMEMultipart.MIMEMultipart()
email.MIMEText.MIMEText(self.message, 'plain', 'utf-8')

在windows python2.5上运行没有问题 ...

建议使用
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText

这个比较新,推荐的方式
看一下。。
看一下。。
关注高手如何解释这个问题