一支向阳花
2021-04-27 10:13
采纳率: 71.4%
浏览 58

在linux 上如何用python 删除文件夹及文件夹里面的文件和子文件夹

在linux 上如何用python 删除文件夹(文件夹里面有文件和子文件夹),有没有一个语句就可以实现的。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • 沙皮狗de忧伤 2021-04-27 11:07
    已采纳
    import os
    import shutil
    
    
    def delete_files(src_dir):
        for file in os.listdir(del_dirs):
            if os.path.isdir(os.path.join(del_dirs, file)):
                shutil.rmtree(os.path.join(del_dirs, file))
            else:
                os.remove(os.path.join(del_dirs, file))
        return
    
    
    if __name__ == '__main__':
        del_dirs = ''
        delete_files(src_dir=del_dirs)

    判断一下,如果是文件,os.remove, 如果是文件夹,shutil.rmtree

    点赞 评论
  • 唯羽 2021-04-27 11:37

    linux就简单了

    import os
    
    
    def delete_dir(dir_):
        # 安全性问题
        dir_ = '/'.join(list(set(dir_.split('/'))))
        print('删除: {}'.format(dir_))
        judge_lis = [
            not bool(dir_),  # 拒绝根目录
            not len(dir_.split('/')) == 1  # 拒绝首层目录
        ]
        if not all(judge_lis):
            raise IOError('小朋友,别冲动')
        cmd = 'rm -rf {}'.format(dir_)
        os.system(cmd)
    
    
    delete_dir('/tmp/')
    
    点赞 评论

相关推荐 更多相似问题