<p>此循环用于条形码扫描软件。它的运行次数可能与扫描条形码的次数相同,即一小时内扫描数百次。你知道吗</p>
<pre><code># locpats is a list of regular expression patterns of possible depot locations
for pat in locpats:
q = re.match(pat, scannedcode)
if q:
print(q)
return True
</code></pre>
<p>q是匹配对象。<code>print(q)</code>告诉我每个匹配对象都有自己的一小块内存。他们会加起来的。我不知道总共有多少。你知道吗</p>
<p>一旦进入<code>if</code>,我就不再需要Match对象了。我应该这样擦吗?你知道吗</p>
<pre><code> q = re.match(pat, scannedcode)
if q:
q = None
return True
</code></pre>
<p>还是有更干净的方法?我要麻烦你吗?你知道吗</p>
<p>如果我的理解是正确的(从<a href="https://stackoverflow.com/questions/1316767/how-can-i-explicitly-free-memory-in-python">this</a>),那么在进程终止之前,<code>gc.collect()</code>的垃圾收集是不会发生的,在我的例子中,这是在一天结束时,用户完成了扫描。在那之前,这些东西甚至不会被视为垃圾。你知道吗</p>