私がそうすると、メモリは StringIO 間で共有されますか? 6行目でpythonプロセスのメモリが増えていないからだと思います。
In [1]: from StringIO import StringIO
In [2]: s = StringIO()
In [3]: s.write('abcd'*10000000) # memory increases
In [4]: s.tell()
Out[4]: 40000000
In [5]: s.seek(0)
In [6]: a = StringIO(s.read()) # memory DOES NOT increase
In [7]: a.tell()
Out[7]: 0
In [8]: a.read(10)
Out[8]: 'abcdabcdab'
しかし、私の懸念は、これらの 2 つの変数を削除しても、python プロセスのメモリ消費量が減少しないことです...なぜですか? このコードはメモリ リークを引き起こしますか?
変数を 1 つだけ使用した場合、変数を削除すると、メモリが十分に解放されます。
ここで何が起こっているのかをよりよく理解したいと思います。ありがとう。