#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ Created on Thu Sep 28 08:23:56 2023 @author: Inna Gumauri, Trygve Børte Nomeland """ #%% Task 1 import re def student_information(filename): with open(filename, 'r', newline='', encoding='utf-8') as f: lines = f.readlines() stud=[] for line in lines: if "#" in line: continue d=re.findall(r"[^, :\n]+", line) stud.append({"name":d[0], "age":d[1], "phone number":d[2]}) return stud print(student_information("data.txt")) #%% Task 2 import re from pathlib import Path def get_imp_file(file): with open(file, 'r', encoding='utf-8') as f: txt = f.read() # re.M gjør at ^ matcher starten av hver linje istedet for bare starten av stringen ptr1 = re.compile(r"^import\s(\w+)", flags=re.M) ptr2 = re.compile(r"^from\s(\w+)", flags=re.M) imports = re.findall(ptr1, txt) imports += re.findall(ptr2, txt) # vi filtrerer ut duplikater: res = [] [res.append(x) for x in imports if x not in res] return res def print_imp_dir(path="./"): p = Path(path) files = list(p.glob('*.py')) for f in files: print(f'{Path.cwd()}/{f}: {get_imp_file(f)}') print_imp_dir()