从文件名以“df”开头的目录中删除所有文件

沙努

我想从文件名以“df”开头的目录中删除所有文件。我曾经在下面的代码中做同样的事情,但我收到以下错误,说No such file or directory: 'df2.csv'虽然打印语句确实显示了 df2.csv

filelist = [ 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'
尝试

更新:

这是因为您只是将文件名及其扩展名添加到列表中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 创建一个绝对路径。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何从目录中的所有文件名中删除“ _”

将所有文件移动到文件名开头的子目录中

删除文件名开头的所有零

如何从目录中删除具有特定文件名长度的所有文件?

从目录中的所有文件名中删除最后三个字符

如何删除当前目录中以点开头的所有文件?

如何遍历目录中的所有子文件夹,并删除具有特定文件名的文件

如何删除目录中的所有文件,但文本文件中列出的特定文件名

将目录中的所有文件名放入数组

放在目录中的所有文件名之前

读取目录中的所有文件名

使用vim获取目录中的所有文件名

删除文件名中带有特殊字符的目录

删除bash目录中文件名开头的数字

从所有文件名中删除撇号

递归地从文件名和目录名中删除所有前导和尾随空格

删除文件名的开头 Bat 文件

删除目录中的文件并打印删除的文件名

从给定文件夹中的所有文件名中删除所有非法字符

通过控制台操作从目录中的所有文件名中删除多个字符串

如果目录中没有其他扩展名的文件名,请删除文件

更改目录开头的文件名

从文件中删除所有以#开头的行

删除文件夹中的所有文件,列表中的文件名除外

如何替换目录中所有文件名中的字符串?(特别是我需要从目录中的所有文件名中删除“ \#015”

根据文件名版本从目录中删除文件

将目录中的所有文件作为名为要加载的文件名的变量加载?

将目录中的所有文件名都写入txt文件的Ant任务?

将递增值写入子目录中与文件名匹配的所有文件