擅长:python、mysql、java
<p><code>date</code>命令,以及基本上用于交互式命令行的所有其他命令,都用一个新行终止其输出。在</p>
<p>如果这不是您所需要的,那么从子进程调用的输出中修剪最后一行是一件非常常见的事情(在shell中,用<code>`backticks`</code>和现代的<code>$(command)</code>语法替换进程的硬编码默认行为)。在</p>
<p>但创建日期字符串并不需要子进程,Python在其标准库中提供了广泛(尽管有点笨拙)的支持,即开箱即用。参见例如<a href="https://stackoverflow.com/questions/311627/how-to-print-date-in-a-regular-format-in-python">here</a>。在</p>
<pre><code>import time
filename = time.strftime('security%Y.%m.%d_%H.%M.%S.jpg')
</code></pre>
<p>或者,改编成第一个示例片段</p>
^{pr2}$
<p>因为斜杠和冒号都是文件名中有问题的字符,所以我用点代替了它们。出于纯粹的美学原因,我还将逗号改为下划线(怀疑;下划线也很难看)。在</p>
<p>我还将生成的文件名切换为使用标准的日期戳命名约定,首先使用一个完整的数字年份,这样文件列表和glob循环以正确的日期顺序生成文件。在</p>
<p>可能应该进一步调整代码,使其在文件名中包含一个正确的<a href="http://en.wikipedia.org/wiki/ISO_8601" rel="nofollow noreferrer">ISO 8601</a>日期;然后,如果您想单独解析并重新格式化它以供人类使用,您可以自由地这样做。但是,如果有标准格式,既可以由现有代码读写,也可以被人类毫不含糊地理解,就要避免自定义日期格式。在</p>