小编Jua*_*vas的帖子

如何使用pickle()初始化实例?

我想定义一个能够从另一个实例的序列化数据中读取自己的类.这是简化的代码:

class MyClass(list):

    def __init__(self,**kwargs):
        if kwargs.has_key('fdata'):
            f = open(kwargs['fdata'],'r')
            self = pickle.load(f)
            print len(self)    #prints 320          
            f.close()              

    ...

a = MyClass(fdata='data.dat')
print len(a)    #prints 0
Run Code Online (Sandbox Code Playgroud)

这是我获得的输出:

320
0
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是返回的实例总是空的,即使我能够读取内部的所有元素__init__()可能导致这种情况?

python

6
推荐指数
1
解决办法
1074
查看次数

为什么忽略这个python列表的某些元素?

我是Python的新手,我很难理解这个简单程序的输出:

list = os.listdir(os.getcwd())
print(list)
print()
for element in list:
    print(element)
    if 'txt' not in element: list.remove(element)
Run Code Online (Sandbox Code Playgroud)

这给了我这个输出:

['examples_list.txt', 'generate_patterns.py', 'lehoczky_example_3.txt', 'patterns', 'test.py', 'test2.py']

examples_list.txt
generate_patterns.py
patterns
test2.py
Run Code Online (Sandbox Code Playgroud)

为什么某些元素(例如'lehoczky_example_3.txt')被"for"循环忽略了?

python

2
推荐指数
2
解决办法
135
查看次数

扩展Dict类的正确方法是什么?

我想用一组预定义的有效键来实现两个不同的词典.另外,一个字典包含另一个字典.

class Otherdict (dict):

    _keys = ['A','B']

    def __init__(self):
        for key in self._keys:
            self[key] = None

    def populateDict(self):
        self['B'] = 10
        self['A'] = 12

class MyDict(dict):

    _keys = ['R','ED']

    def __init__(self):
        for key in self._keys:
            self[key] = None

    def __getitem__(self, key):
        if key not in self._keys:
            raise Exception("'" + key + "'" + " is not a valid key")
        dict.__getitem__(self,key)

    def __setitem__(self, key, value):
        if key not in self._keys:
            raise Exception("'" + key + "'" + " is not a …
Run Code Online (Sandbox Code Playgroud)

python dictionary extend

1
推荐指数
1
解决办法
6525
查看次数

标签 统计

python ×3

dictionary ×1

extend ×1