擅长:python、mysql、java
<p>支持<code>glob.glob()</code>函数的<a href="https://docs.python.org/2/library/fnmatch.html" rel="nofollow">^{<cd1>} module</a>对于您的任务来说还不够复杂。在</p>
<p>只需抓取<em>所有</em>文件名并在排序后对其进行分区:</p>
<pre><code>filenames = sorted(glob.glob('sync_[0-9][0-9][0-9][0-9].tif'))
</code></pre>
<p>这是因为你的数字是填充的,因此可以按字典顺序排序。然后把它们分开:</p>
^{pr2}$
<p>无论如何,目录I/O将是这里最慢的。通过只循环一次并交换附加到的内容,可以使这一切变得更加高效:</p>
<pre><code>target = s1 = []
s2 = []
s3 = []
for f in filenames:
num = int(f[5:9])
if num > 800:
target = s2
elif num > 1600:
target = s3
target.append(f)
</code></pre>
<p>但对于这样的任务,坚持简单的清单理解也很好。在</p>