From a5f6057bc0293d12abb6ad6864a72196fa417d6e Mon Sep 17 00:00:00 2001 From: Lubos Kolouch Date: Mon, 10 Jul 2023 18:56:53 +0200 Subject: feat(challenge-166/lubos-kolouch/perl,python/): Challenge 166 LK Perl Python --- challenge-166/lubos-kolouch/python/ch-2.py | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 challenge-166/lubos-kolouch/python/ch-2.py (limited to 'challenge-166/lubos-kolouch/python/ch-2.py') diff --git a/challenge-166/lubos-kolouch/python/ch-2.py b/challenge-166/lubos-kolouch/python/ch-2.py new file mode 100644 index 0000000000..48996dd42e --- /dev/null +++ b/challenge-166/lubos-kolouch/python/ch-2.py @@ -0,0 +1,29 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +import os + + +def k_directory_diff(dirs): + all_files = set() + dir_files = {} + + for directory in dirs: + files = set(os.listdir(directory)) + all_files |= files + dir_files[directory] = files + + missing_files = {f: [] for f in all_files} + + for directory, files in dir_files.items(): + for file in all_files: + if file not in files: + missing_files[file].append(directory) + + for file, directories in missing_files.items(): + if directories: + print(file, "is missing in", ", ".join(directories)) + + +dirs = ["dir_a", "dir_b", "dir_c"] +k_directory_diff(dirs) -- cgit