Python目录删除

liftword3个月前 (03-23)技术文章22
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及pycharm》

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

无需手动干预!通过Python脚本实现EXE程序的静默安装与卸载

引言:封装的类主要实现了、终止指定进程 (win_process)、安装 EXE 程序 (install_exe)、卸载 EXE 程序 (uninstall_exe)终止指定进程:遍历所有正在运行的进...

使用 Python 在 Excel 中创建、引用、导出、更新和删除命名范围

Excel 中的命名区域是分配给特定单元格区域(如“SalesData”或“Revenue”)的用户定义标识符。通过使用有意义的名称而不是 A1:B10 等标准单元格引用,命名区域可以更轻松地引用数据...