导入。。。作为。。。出现故障,“模块”没有属性

2024-09-29 19:24:55 发布

您现在位置:Python中文网/ 问答频道 /正文

有一个基于webware for python的pythonweb服务。在这个应用程序中,有多个“上下文”,本质上是带有专门化的基础应用程序的扩展。其中有五个。今天添加的是抛出一个错误,但是其他几天前添加的没有。你知道吗

import MyModule as mv

class Main():
    def __init__(self):
        self.vendorcode = mv.id

上面的代码在"self.vendorcode = mv.id"处引发错误,表示模块没有属性"id"。导入的文件"MyModule.py"包含以下内容:

# config parameters
id = 'TEST'
code = 'test_c'
name = 'test_n'

档案里没有别的东西。你知道吗

为什么这个设置可以在其他四个子目录(也称为“context”)中工作,而不能在最后一个子目录中工作?换言之,我应该寻找什么?我已经确认文件权限和文件字符集类型,这似乎是罚款。你知道吗

更新:我将“id”更改为“ident”,但仍然引发了错误。使用打印验证模块文件是否正确。使用python2.4.3解释器,我看到文件已经加载。在下面的示例中,“TRANS”是预期的返回值。你知道吗

>>> import MoluVendor as mv
>>> print mv.ident
TRANS
>>> 

因此,我编写了一个快速测试,将其保存为文件,直接与MyModule一起保存,如下所示:

import MyModule as mv

class MainTest:
    def __init__(self):
        self.vendorcode = mv.ident

    def showme(self):
        print self.vendorcode

if __name__ == '__main__':
    mt = MainTest()
    mt.showme()

报告也正确。所以这个导入是在简单的情况下工作的。你知道吗

让我烦恼的是还有另外四组文件,包括我的模块.py“在每种情况下,效果都很好。我将代码与代码进行了比较,没有发现任何差异。所有这些文件集都是由一个在Apache中作为deamon运行的应用程序调用的。因此,只有一个不工作是令人困惑的。你知道吗


Tags: 模块文件代码importselfid应用程序def
1条回答
网友
1楼 · 发布于 2024-09-29 19:24:55

我翻阅了相关文件,并逐一检查了是否有小精灵。也就是说,我确定这些文件是ASCII,没有unicode或嵌入字符,并使用可接受的代码页规范保存它们。我重新加载了应用程序,现在一切正常。你知道吗

最后,问题出在椅子和键盘之间。当我为新的“上下文”修改应用程序文件时,我(显然)忽略了以正确的格式保存文件。你知道吗

相关问题 更多 >

    热门问题