| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- import os, argparse, re
- def solve_task(lines):
- current_path = "/"
- file_system = FolderNode()
- for line in lines:
- m = re.match("$ cd (.+)", line)
- if (m):
- # cd command
- continue
-
- m = re.match("(\d+) (.+)", line)
- if (m):
- # file entry
- continue
- class Node:
- def __init__(self, parent):
- if parent:
- self.parent = parent
- else:
- self.parent = self
- class FileNode(Node):
- def __init__(self, parent):
- super().__init__(parent)
- class FolderNode(Node):
- def __init__(self, parent = None):
- super().__init__(parent)
- self.children = []
- def add(self, file, destinationFolder):
- destinationFolder.split('/', 1)
- pass
- def read_lines(filename):
- lines = []
- with open(filename) as infile:
- for raw_line in infile:
- line = raw_line.rstrip()
- lines.append(line)
- return lines
- def parse_arguments():
- parser = argparse.ArgumentParser(description="Script that solves the case",epilog="Have a nice day!")
- parser.add_argument('filename', nargs='?', default="example.txt", help='Input file')
- args = parser.parse_args()
- return args
- def main():
- args = parse_arguments()
- lines = read_lines(args.filename)
- solve_task(lines)
- if __name__ == "__main__":
- main()
|