⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 filedscr.py

📁 python的典型方法,对初学的python的人有一定的借鉴作用。
💻 PY
字号:
import pickle
class FileDscr(object):
    def __init__(self, name):
        self.name = name
    saved = []
    def __get__(self, obj, typ=None):
        if self.name not in FileDscr.saved:
            raise AttributeError, \
                  "%r used before assignment." % self.name
        try:
            f  = open(self.name, 'r')
            val = pickle.load(f)
            f.close()
            return val
        except (pickle.UnpicklingError, IOError, EOFError, AttributeError, \
                ImportError, IndexError), e:
            raise AttributeError, \
                  "Cannot read %r: %s" % (obj, self.name)
        
    def __set__(self, obj, val):
        f = open(self.name, 'w')

        try:
            pickle.dump(val, f)
            FileDscr.saved.append(self.name)
        except (TypeError, pickle.PicklingError), e:
            raise AttributeError, \
                  "cann't pickle %r" % self.name
        finally:
            f.close()
        
class VarClass(object):
    foo = FileDscr('foo.x')
    bar = FileDscr('bar.x')

vb = VarClass()
vb.foo = 'Google'
vb.foo = ('google', 76723, 'Tokusi')
print vb.foo

    
        

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -