<p>我只是想做一个脚本来删除扩展名为“.zip”的条目。</p>
<pre><code>import sys
import os
from os import listdir
test=os.listdir("/Users/ben/downloads/")
for item in test:
if item.endswith(".zip"):
os.remove(item)
</code></pre>
<p>每当我运行脚本时,我得到:</p>
<pre><code>OSError: [Errno 2] No such file or directory: 'cities1000.zip'
</code></pre>
<p>cities1000.zip显然是我的下载文件夹中的一个文件。</p>
<p>我在这里做错了什么?os.remove是否需要文件的完整路径?如果这是问题所在,那么在当前脚本中,我如何才能在不完全重写它的情况下做到这一点。</p>
<p>避免反复连接自己的替代方法:使用<code>glob</code>模块连接一次,然后让它直接返回路径。</p>
<pre><code>import glob
import os
dir = "/Users/ben/downloads/"
for zippath in glob.iglob(os.path.join(dir, '*.zip')):
os.remove(zippath)
</code></pre>