Python多线程技术删除指定文件夹的内容
时间: 2023-12-27 07:05:30 浏览: 93
可以使用Python的内置模块`threading`来实现多线程删除指定文件夹的内容。示例代码如下:
```python
import os
import threading
def delete_folder(path):
if os.path.isdir(path):
for file in os.listdir(path):
file_path = os.path.join(path, file)
if os.path.isdir(file_path):
# 递归删除子文件夹
t = threading.Thread(target=delete_folder, args=(file_path,))
t.start()
t.join()
else:
# 删除文件
os.remove(file_path)
# 删除空文件夹
os.rmdir(path)
if __name__ == '__main__':
folder_path = '/path/to/folder'
delete_folder(folder_path)
```
该代码首先判断给定路径是否为文件夹,如果是则遍历文件夹中的所有文件和子文件夹,对于子文件夹采用递归的方式删除,对于文件直接调用`os.remove()`函数删除。最后再用`os.rmdir()`函数删除空文件夹。同时,为了防止多线程同时删除同一文件夹,我们使用`threading.Thread`来创建线程,保证每个文件夹的删除都在一个独立的线程中进行。
阅读全文