首页 > 解决方案 > 删除目录 - 测试文件繁忙错误

问题描述

我有一些代码试图删除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),因为在执行代码时我不认为它超过了这条线。如何阻止这种情况发生并删除目录?

标签: python

解决方案


似乎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)

推荐阅读