我想创建一种实用程序类,它只包含可由名称类前缀调用的静态方法。看起来我做错了什么:)
这是我的小班:
class FileUtility():
@staticmethod
def GetFileSize(self, fullName):
fileSize = os.path.getsize(fullName)
return fileSize
@staticmethod
def GetFilePath(self, fullName):
filePath = os.path.abspath(fullName)
return filePath
现在我的“主要”方法:
from FileUtility import *
def main():
path = 'C:\config_file_list.txt'
dir = FileUtility.GetFilePath(path)
print dir
我得到一个错误:unbound method GetFilePath() must be called with FileUtility instance as first argument (got str instance instead)
。
A在这里有几个问题:
- 我究竟做错了什么?静态方法不应该由类名调用吗?
- 我真的需要一个实用程序类,还是有其他方法可以在 Python 中实现相同的功能?
- 如果我尝试更改 main 中的代码,我会得到:
TypeError: GetFilePath() takes exactly 1 argument (2 given)
新的main
:
from FileUtility import *
def main():
objFile = FileUtility()
path = 'H:\config_file_list.txt'
dir = objFile.GetFilePath(path)
print dir