擅长:python、mysql、java
<p>这里是一个基于<code>str.lstrip</code>和<code>str.format</code>的生成器实现。它将输入解析为标准字符串模板(例如<code>'{0:02d}-file'</code>),然后循环相应的值并使用该模板创建输出:</p>
<pre><code>def process(s):
zeros = len(s) - len(s.lstrip('0'))
template = "{{0:0{0}d}}{1}".format(zeros, s.lstrip('0'))
for i in range(10**zeros):
yield template.format(i)
</code></pre>
<p>用法示例:</p>
<pre><code>>>> list(process('00-file'))
['00-file', '01-file', '02-file', ..., '98-file', '99-file']
</code></pre>
<p>它有以下限制:</p>
<ul>
<li>仅支持<code>'0'</code>填充;以及</li>
<li>只支持引导填充</li>
</ul>
<p>但是你可以把它调整到你自己的目的。你知道吗</p>