gpt4 book ai didi

python - import ... as ... 似乎失败, 'module' 没有属性

转载 作者:行者123 更新时间:2023-12-04 19:32:12 25 4
gpt4 key购买 nike

有一个基于 webware for python 的 python web 服务。在这个应用程序中,有多个“上下文”,本质上是具有特化的基本应用程序的扩展。其中有五个。今天添加的一个会引发错误,但几天前添加的其他人不会。

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'

文件中没有其他内容。

为什么此设置可以在其他四个子目录(也称为“上下文”)中工作,但不能在最后一个子目录中工作?换句话说,我应该寻找什么?我已经确认文件权限和文件字符集类型,这似乎很好。

更新:我将“id”更改为“ident”,但仍然出现错误。使用 print 验证模块文件是否正确。使用 python 2.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()

这也正确报告。所以导入在简单的情况下工作。

令我困扰的是,还有其他四组文件,包括每个文件中的“MyModule.py”,它们都可以正常工作。我将代码与代码进行了比较,但找不到任何差异。所有这些文件集都由一个在 Apache 中作为守护进程运行的应用程序调用。出于这个原因,只有一个不工作是令人困惑的。

最佳答案

我浏览了所涉及的文件,并检查了每个文件是否有 gremlins。也就是说,我确定文件是 ASCII,没有 unicode 或嵌入字符,并使用可接受的代码页规范保存它们。我重新加载了应用程序,现在一切正常。

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

关于python - import ... as ... 似乎失败, 'module' 没有属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25540152/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com