Python目录删除

liftword1个月前 (03-23)技术文章10
def find_remaining_directories(m, relations, delete_id):
    # 构建目录树
    tree = {}
    for child, parent in relations:
        if parent not in tree:
            tree[parent] = []
        tree[parent].append(child)

    # 找到所有需要删除的目录ID
    to_delete = set()
    stack = [delete_id]
    while stack:
        current = stack.pop()
        to_delete.add(current)
        if current in tree:
            stack.extend(tree[current])

    # 找到所有目录ID
    all_ids = set()
    for child, parent in relations:
        all_ids.add(child)
        all_ids.add(parent)

    # 确保根目录0不被包含在剩余目录中(除非明确删除0)
    if delete_id != 0:
        to_delete.add(0)  # 将根目录0加入删除集合

    # 计算剩余的目录ID
    remaining = sorted(all_ids - to_delete)
    return remaining

# 自定义输入
m = int(input("请输入父子关系表的长度: "))
relations = []
for _ in range(m):
    child, parent = map(int, input("请输入父子关系对(子目录ID 父目录ID): ").split())
    relations.append((child, parent))
delete_id = int(input("请输入待删除的目录ID: "))

# 计算并输出剩余的目录ID
remaining = find_remaining_directories(m, relations, delete_id)
print("剩余的目录ID:", " ".join(map(str, remaining)))


相关文章

python如何彻底卸载

要想彻底干净的卸载python,如果是使用的安装版的话,其实很简单。就是点击安装包。例如,当前你安装的版本是3.6.5,你想要把它卸载掉。查看python版本的命令:只需要点击对应版本的安装包:点击卸...

如何干净删除python

先打开geek,趁着python没注意,咱们搞偷袭,右键一下子卸载掉然后打开everything,删掉c盘一些python主目录(以前安装的目录,如果删不掉,右键点开 在文件夹 安全里 调整下权限 之...

python删除文件和删除目录的方法

下面来看一下python里面是如何删除一个文件及文件夹的~~首先引入OS模块import os删除文件: os.remove()删除空目录: os.rmdir()递归删除空目录: os.removed...

新手教程系列之《卸载Python及pycharm》

本次分享为保姆式新手教程系列之《卸载Python及pycharm》大神请略过O(∩_∩)O 哈哈!本次安装电脑配置:windows10 64位操作系统运行内存:8g步骤演示:点击左下角开始(或者按键盘...

Mac下安装与卸载Python3操作方式

1、在安装最新版Python3的版本之前,我们先熟悉一下系统自带的python。  Mac系统自带python路径为/System/Library/Frameworks/Python.framewor...

Linux系统自带Python2&yum的卸载及重装

写在前面事情的起因是我昨天在测试Linux安装Python3的shell脚本时,需要卸载Python3重新安装一遍。但是通过如下命令卸载python3时,少写了个3,不小心将系统自带的python2也...