INF201/uke3.py

52 lines
1.3 KiB
Python

#!/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()