【华为od机试真题 python】目录删除
时间: 2023-05-08 10:59:52 浏览: 144
华为OD机试真题-字符串重传排列2023
题目描述:
假设有一个目录结构如下:
```
A/
|--B/
| |--C/
| | |--D/
| | | |--file1
| | | |--file2
| | | └--file3
| | └--E/
| └--F/
| |--G/
| └--H/
└--I/
```
要求实现一个删除目录的函数 `void remove_dir(char* path)`,能够删除传入的目录路径,同时保证删除后的目录结构如下:
```
A/
|--I/
```
解题思路:
递归实现目录的深入删除,利用 `os.listdir` 方法获取指定目录下的所有文件和目录,然后根据需要递归删除文件或目录,最终删除父目录。
代码实现:
```python
import os
def remove_dir(path):
if os.path.exists(path):
for file_name in os.listdir(path):
sub_path = os.path.join(path, file_name)
if os.path.isdir(sub_path):
remove_dir(sub_path)
else:
os.remove(sub_path)
os.rmdir(path)
```
以上代码实现了目录删除功能,同时保证删除后的目录结构符合题目要求。
阅读全文