编写一个程序,遍历D盘下所有的文件,将后缀名为.class的文件的删除,如果删除失败请输出该文件绝对路径,并提示该文件删除失败。 提示: 1、 使用遍历文件的方式,遍历D盘中所有的文件 2、 判断遍历出来的文件名是否以”.class”结尾,如果是则删除该文件。 3、 当第2步操作中,删除失败,则提示该文件删除失败。
时间: 2024-02-12 12:03:30 浏览: 18
好的,以下是 Python 代码实现该功能:
```python
import os
# 遍历文件夹
def traverse_dir(path):
for root, dirs, files in os.walk(path):
for file in files:
if file.endswith('.class'):
file_path = os.path.join(root, file)
try:
os.remove(file_path)
except Exception as e:
print(f"{file_path} 删除失败,错误信息:{e}")
# 调用函数
traverse_dir('D:/')
```
这段代码首先定义了一个 `traverse_dir` 函数,用于遍历指定路径下的所有文件,并删除后缀名为 `.class` 的文件。在遍历过程中,如果删除操作失败,则输出该文件的绝对路径,并提示删除失败的原因。
最后,我们调用 `traverse_dir` 函数,并传入 D 盘的路径作为参数,即可实现遍历 D 盘下所有文件,删除后缀名为 `.class` 的文件的功能。
相关问题
Java遍历D盘下所有的文件,然后将后缀名为了.class的文件删除,如果删除失败输出该路径的绝对路径,并提示删除失败
好的,这里是Java代码实现:
```java
import java.io.File;
public class DeleteClassFiles {
public static void main(String[] args) {
File file = new File("D:\\");
deleteClassFiles(file);
}
public static void deleteClassFiles(File file) {
if (file.isDirectory()) {
File[] files = file.listFiles();
for (File f : files) {
deleteClassFiles(f);
}
} else {
String fileName = file.getName();
if (fileName.endsWith(".class")) {
boolean isDeleted = file.delete();
if (!isDeleted) {
System.out.println(file.getAbsolutePath() + " 删除失败!");
}
}
}
}
}
```
首先,我们定义一个方法`deleteClassFiles`,接受一个`File`类型的参数,用于遍历该文件或目录下的所有文件并删除后缀名为`.class`的文件。如果传入的参数是一个目录,我们就获取该目录下的所有文件并递归调用`deleteClassFiles`方法。如果传入的参数是一个文件,我们就判断该文件是否是以`.class`结尾,如果是则尝试删除该文件,并输出删除失败的信息。
在`main`方法中,我们传入`D:\`作为参数调用`deleteClassFiles`方法即可。
编写一个程序,遍历D盘下所有的文件,将后缀名为.class的文件删除,如果删除失败请输出该文件绝对路径,并提示该文件删除失败。 提示: 1、 使用遍历文件的方式,遍历D盘中所有的文件 2、 判断遍历出来的文件名是否以”.class”结尾,如果是则删除该文件。 3、 当第2步操作中,删除失败,则提示该文件删除失败。
以下是 Python 3 的实现:
```python
import os
for foldername, subfolders, filenames in os.walk('D:\\'):
for filename in filenames:
if filename.endswith('.class'):
filepath = os.path.join(foldername, filename)
try:
os.remove(filepath)
except OSError:
print(f"{filepath} 删除失败!")
```
解释一下代码逻辑:
1. 使用 `os.walk` 遍历 D 盘下所有文件,返回三个值:当前文件夹路径、子文件夹列表、文件列表。
2. 遍历文件列表,如果文件名以 `.class` 结尾,则组合出文件完整路径。
3. 使用 `os.remove` 删除文件。如果删除失败则会抛出 `OSError` 异常,此时输出删除失败的文件路径。