No such file or directory: 'df2.csv'
尽管print语句确实显示df2.csvfilelist = [ f for f in os.listdir("/a/b/") if f.startswith("df") ]
for f in filelist:
print(f)
os.remove(f)
df2.csv
Traceback (most recent call last):
File "<stdin>", line 3, in <module>
FileNotFoundError: [Errno 2] No such file or directory: 'df2.csv'
UPDATE:
这是因为您只是将文件名及其扩展名添加到列表filelist
中。在这种情况下,os.remove()
要求您传递一个绝对路径,因为文件路径与脚本路径无关。
您需要将您的filelist
列表理解更新为以下内容才能起作用:
root = r'path to your directory'
filelist = [ os.path.join(root, f) for f in os.listdir(root) if f.startswith("df") ]
[os.path.join(root, f)
将连接根路径和filename.ext,以创建绝对路径。