gpt4 book ai didi

python - 根据命名约定,使用 Python 在 Windows 中删除文件

转载 作者:可可西里 更新时间:2023-11-01 11:28:26 25 4
gpt4 key购买 nike

我正在尝试用 Python 编写程序。我希望能够将该程序指向一个目录,比方说 C:\User\Desktop\Folder。此文件夹包含两种类型的 HTML 文件,一种文件名以 ...abc.html 结尾,另一种以 ...def.html 结尾。我想在 C:\User\Desktop\Folder 的所有文件夹和子文件夹中递归删除以 def.html 结尾的文件。执行此操作的最佳方法是什么?

我试过这样做:

import os
def deleteFiles(path):
files = os.listdir(path)
for f in files:
if not os.path.isdir(f) and "DEF.html" in f:
os.remove(f)
if os.path.isdir(f):
deleteFiles(path + "/" + f)

deleteFiles("C:\Users\ADMIN\Desktop\TestCode")

然而,在 PyCharm 中运行它,我得到一个错误:

WindowsError: [Error 2] The system cannot find the file specified: 'testDEF.html'

我做错了什么?

最佳答案

您需要将 os.remove(f) 更改为 os.remove(os.path.join(path, f))

顺便说一句,创建硬编码路径不是推荐的最佳实践。也就是说,您应该以这种方式创建路径:

deleteFiles(os.path.join(path, f))
deleteFiles(os.path.join('C:', 'Users', 'ADMIN', 'Desktop', 'TestCode')

这样您的分隔符('/' 或 '\')将自动适合您的平台。

关于python - 根据命名约定,使用 Python 在 Windows 中删除文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27801289/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com