python - 删除目录 - 测试文件繁忙错误
问题描述
我有一些代码试图删除job_lists
在以下位置调用的目录:/home/vagrant/project/data.out
. 该目录包含许多文件。我试图用来删除目录及其内容的代码如下:
import os
import shutil
import pandas as pd
import datetime
def joblistMain(args):
folder = '/home/vagrant/project/data.out'
filepath = os.path.join(folder, 'job_lists')
if os.path.isdir(folder):
filepath = os.path.join(folder, 'job_lists')
shutil.rmtree(filepath)
但是我收到“文本文件忙”错误:
[Errno 26] Text file busy: '/home/vagrant/project/data.out'
data.out
是一个文件夹。我没有运行任何其他进程,因此不确定为什么会收到此错误。错误似乎就在这条线上shutil.rmtree(filepath)
,因为在执行代码时我不认为它超过了这条线。如何阻止这种情况发生并删除目录?
解决方案
似乎data.out
和job_lists在同一个父目录下,即
vikrant
-- project
-- -- data.out
-- -- job_lists
做出上述假设,以下是代码:
def joblistMain(args):
folder = '/home/vagrant/project/data.out'
if os.path.isdir(folder):
filepath = os.path.join(os.path.dirname(folder), 'job_lists')
shutil.rmtree(filepath)
推荐阅读
- javascript - React Native:标签栏中的音乐播放器
- angularjs - 为什么 SonarQube 6.7.5 实例和 TFS 2017 构建定义上的代码覆盖率结果存在差异
- html - 如何在不换行的情况下在 Java Mail 中添加内联样式
- model-view-controller - 样板无法创建 mvc 控制器类
- node.js - 节点无法在 http 响应中接收 cyrilyc 字符
- flutter - 使用 FutureBuilder 时重新加载数据
- python - Py goto 使用输入的站点
- java - 如何在 Spring 中仅将安全路径的子路径列入白名单?
- java - @SpringBootApplication 找不到 Bean
- c# - 返回视图/重定向到操作什么都不做