打开文件而不直接提供路径

时间:2017-03-21 18:59:52

标签: python

让我们说我有以下课程:

class FileName(object):
 def __init__(self,pathName):
   self.pathName = pathName

 def __repr__(self):
   return self.pathName

someFile = FileName(r'c:\users\sarith\a.txt')

现在我知道我可以使用os.stat(someFile.pathName)或使用os.stat(str(someFile))来获取此文件的详细信息。有没有办法通过os.stat(someFile)来获取细节。更具体地说,我的意思是有一个我可以覆盖的函数,当FileName的函数调用open的实例时,它会返回pathName属性吗?

2 个答案:

答案 0 :(得分:3)

这不是你期望存在的那种东西,但是很多这样的函数实际上确实识别__fspath__ method,至少在Python 3.6上是这样的:

class FileName(object):
    def __init__(self, path):
        self.path = path
    def __fspath__(self):
        return self.path

# Actually works!
os.stat(FileName('/whatever'))

答案 1 :(得分:2)

可能有效的一个选项是从d=iris[,c(3,4)] >kmeans(d, 2,nstart=1, trace=4) KMNS(*, k=2): iter= 1, indx=43 QTRAN(): istep=150, icoun=56, NCP[1:2]= 244 244 QTRAN(): istep=300, icoun=92, NCP[1:2]= 358 358 继承:

str