尝试使用os.remove时出现权限错误

时间:2019-07-20 06:38:53

标签: python glob

我有一些代码,如果某个文件夹存在,我想删除它,如果该文件夹不存在,我想创建那个文件夹。

下面是我的代码:

import os
def build_file_structure(): 
    if os.path.exists('new data'):
        os.remove('new data')
    else: 
        os.mkdir('new data')
    source_dir = ''
    dst = 'new data'
    return source_dir, dst 

if __name__ == "__main__": 
    source_dir, dst = build_file_structure()

当没有文件夹“ newdata”时,代码运行正常,但是在运行之前存在“ newdata”文件夹时,我收到此错误:

os.remove('new data')
PermissionError: [WinError 5] Access is denied: 'new data'

2 个答案:

答案 0 :(得分:1)

使用os.rmdir(删除目录)来删除文件夹。

os.rmdir('new data')

答案 1 :(得分:0)

您可以尝试使用以下任何一种方式

使用Shell util库

import shutil
shutil.rmtree(dir_path)

传统的os模块

os.rmdir(dir_path)