Python“function”对象没有属性“langName”

2024-05-20 20:20:44 发布

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

我想用Python做点什么。 我试图从另一个文件导入一个变量,但它似乎不起作用。。。因为它给了这个

   AttributeError: 'function' object has no attribute 'langName'

下面是包含变量的代码片段(类是L10N-PS:不在同一代码中)

^{pr2}$

以及我尝试导入的部分(这是错误所在):

names = [l.strip('\n\r').split('*')[1:] for l in open(pp+'data/etc/'+l10n.buildName.langName+'',"r").readlines() if not l.startswith('#')]

有什么办法解决吗?我是进口的,我不确定它能不能用。在

编辑: TypeError:必须首先以l10n实例调用未绑定方法buildName() 争论(却一无所获)

现在给出这个。我不知道为什么。在


Tags: 文件no代码object错误l10nfunctionattribute
3条回答

这是另一个问题:您想调用函数l10n.buildName(),但是您试图通过执行l10n.buildName.langName来访问函数的局部变量。那是不可能的

由于您试图从l10n.buildName函数中获取属性langName,因此您得到了'function' object has no attribute 'langName'异常

代码有两个问题。第一个在buildName中,我已经对其进行了评论:

def buildName(self):
    langName = 'names_'+self.language.upper()+'.txt'
    print 'Current Loaded Names:'+langName+'.'   # <  removed parens
    return langName  # <  this is returned. no need to try to access outside the func

第二个是在呼吁。l10n.buildName需要调用,它为您返回{},不需要查找。在

^{pr2}$

在你的片段中

langName是一个名称,所以不能使用()来调用函数

def buildName(self):
   langName = 'names_'+self.language.upper()+'.txt'
   print 'Current Loaded Names:'+langName+'.'
   return langName

langName()中删除{}

相关问题 更多 >