批量删除文件（给出一定的规则）

def batch_del_file(path, in_name=None, yn=None):
    """批量删除文件（给出一定的规则）"""
    if in_name is None:
        file_to_del = [os.path.join(path, i) for i in os.listdir(path)]
    else:
        file_to_del = [os.path.join(path, i) for i in os.listdir(path) if in_name in i]
    print('以下是要删除的文件列表：\n')
    print(file_to_del)

    if yn is None:
        yn = input('删除以上文件（输入：y/n）, 保留部分文件（输入：k）：')

    if yn == 'k':
        file_to_save = []
        while True:
            f = input('请输入要保留的文件名（输入“b”结束）：')
            if f == 'b':
                break
            file_to_save.append(f)
        file_to_del = [i for i in file_to_del if i not in file_to_save]
        for file in file_to_del:
            os.remove(file)
            print('已删除：', file)
    elif yn == 'y' or yn == 'yes':
        for file in file_to_del:
            os.remove(file)
            print('已删除：', file)
    else:
        print('没有任何文件被删除！')