我理解这StringIO就像一个文件对象,鸭子键入你会得到什么open('somefile.txt').
现在我想用StringIO用with语句:
with StringIO('some string') as fh: # fh as in "file handle"
data = [stuff from stuff in fh.read()]
Run Code Online (Sandbox Code Playgroud)
但Python抱怨该类型StringIO没有__exit__方法.子类化后StringIO:
class MyStringIO(StringIO):
def __exit__(self):
self.close()
Run Code Online (Sandbox Code Playgroud)
我现在得到一个关于没有__enter__方法的例外.我该如何定义__enter__方法?Python对可以与with语句一起使用的类有什么期望?
| 归档时间: |
|
| 查看次数: |
236 次 |
| 最近记录: |