Class python 2.7中的静态函数错误

Class python 2.7中的静态函数错误,class,static,python-2.7,Class,Static,Python 2.7,我在python中使用静态函数时遇到问题。 我有一个带静态函数的类 class CFileSystemOperations(object): .... .... def getRepositoryDirectory(): ...... return sRepositoryDirectory getRepositoryDirectory = staticmethod(getRepositoryDirectory

我在python中使用静态函数时遇到问题。 我有一个带静态函数的类

class CFileSystemOperations(object):
    ....
    ....
    def getRepositoryDirectory():
        ......
        return sRepositoryDirectory            
    getRepositoryDirectory = staticmethod(getRepositoryDirectory)
然后我有另一个类,它的函数调用静态类,我尝试了两种解决方案

class CMusicOrganizerView(object):
    ....
    def __init__(self):
        ....
        #first solution
        sGuessedRepositoryTextfield = CFileSystemOperations().getRepositoryDirectory()
        #second solution
        sGuessedRepositoryTextfield = CFileSystemOperations.getRepositoryDirectory()
这里有一个错误:

sGuessedRepositoryTextfield=CFileSystemOperations().getRepositoryDirectory() TypeError:“模块”对象不可调用

sGuessedRepositoryTextfield=CFileSystemOperations.getRepositoryDirectory() AttributeError:“模块”对象没有属性“getRepositoryDirectory” 错误:无法导入模块:musicOrganizer(文件:/…../musicOrganizer.py)


有什么想法吗?提前感谢

您将模块与其中包含的类混淆了。使用

CFileSystemOperations.CFileSystemOperations().getRepositoryDirectory()

(并为您的模块提供更好的名称;它们不必像Java中那样与包含的类名匹配)。

只是一个问题,文件(模块)的名称应该以某种方式表示它们包含的类。所以我想用同样的方法给它们命名。模块应该很快命名吗?(从约定的角度询问)有关命名约定,请参阅。