只是看看Python生成器,真的给他们留下了深刻的印象,但有什么东西不能用它们吗?我在考虑过去的C编码,从文件中读取,或者用户操作是区域.例如,是否可以使用生成器来提示用户输入(基本数据输入?)和输入的调用函数进程?是否有任何表现或清理问题需要关注?
S.L*_*ott 13
发电机不能很好地存在.
通常,尝试持久化生成器对象时会出错.
>>> def generatorForEvenKeys( aDictionary ):
for k in aDictionary:
if k % 2 == 0: yield aDictionary[k]
>>> x = generatorForEvenKeys( someDictionary )
>>> pickle.dump(x,file('temp.dat','wb'))
Run Code Online (Sandbox Code Playgroud)
获取以下错误:
TypeError: can't pickle generator objects
Run Code Online (Sandbox Code Playgroud)