python 删除指定目录下的文件,删除前判断是否系统目录,如果是,不允许删除
时间: 2024-05-15 08:14:52 浏览: 67
可以使用os模块中的os.listdir()函数获取目录下所有文件和目录的列表,然后遍历列表,判断每个元素是否为系统目录,如果是则不进行删除操作。
以下是示例代码:
```python
import os
def delete_files(dir_path):
for file_name in os.listdir(dir_path):
file_path = os.path.join(dir_path, file_name)
if os.path.isdir(file_path):
if os.path.islink(file_path) or os.path.normpath(file_path) in os.path.abspath(os.path.join(os.sep, 'sys', 'root', 'dev')):
# 如果是符号链接或者在系统目录中,则不进行删除操作
continue
delete_files(file_path)
else:
os.remove(file_path)
# 调用示例
delete_files('/path/to/dir')
```
其中,os.path.islink()函数判断是否为符号链接,os.path.normpath()函数将路径标准化,os.path.abspath()函数返回绝对路径。如果目录名在系统目录中,则不进行删除操作。
阅读全文