2013-05-07 47 views
0

我正在使用我刚才创建的模块,在那里我有一堆函数,我不断重复使用。今天,我添加了一个新的,但是当我尝试从另一个脚本调用它时,我得到了错误“AttributeError:'模块'对象没有属性NameOfMyFunction”。为什么当我调用另一个脚本创建的模块时,某些功能会丢失?

我打电话功能的方法是这样的:

import sys 
sys.path.append("C:/temp/Volpe_Final_Project/ReUsable") 
import GRHE_proj as GRHE 
output=GRHE.TimeDeltaToTime(data) 

我的模块“GRHE_proj”有多种功能,你可以在这个截图(我使用WingWare)看到: ! http://i.imgur.com/fMkOxO7.png

但是,当我在其他脚本中导入模块时,我只能得到3个选项: ! http://i.imgur.com/d1GXh3B.png

任何想法为什么一些功能被省略?

+0

您的模块是否包含多个文件或只有一个文件? – SethMMorton 2013-05-07 18:21:16

+0

它全部写在一个.py文件中 – Noebyus 2013-05-07 18:22:16

+0

当你做'dir(GRHE)'时,你会得到什么? – Dhara 2013-05-07 18:29:00

回答

0

看起来您并未导入您认为自己是的模块。打印GRHE_proj .__文件___以查看你得到了什么。在导入不在标准库路径中的模块时,通常最好将路径插入列表的前端,而不是将其附加到后端,以免导入导入不同版本的模块正在路上。

import sys 
sys.path.insert(0, "C:/temp/Volpe_Final_Project/ReUsable") 
import GRHE_proj as GRHE 
output=GRHE.TimeDeltaToTime(data) 
+0

哦,这是一个很好的提示。插入和追加有什么区别? – Noebyus 2013-05-07 19:03:36

+0

@Noebyus - 插入将您的路径放在搜索列表的顶部,以便在python正在查找模块文件时在其他路径之前搜索它。 – tdelaney 2013-05-07 19:24:15

相关问题