2023-09-28 12:58:25 +00:00
|
|
|
#!/usr/bin/env python3
|
|
|
|
# -*- coding: utf-8 -*-
|
|
|
|
"""
|
|
|
|
Created on Thu Sep 28 08:23:56 2023
|
|
|
|
|
2023-09-29 10:32:02 +00:00
|
|
|
@author: Inna Gumauri, Trygve Børte Nomeland
|
2023-09-28 12:58:25 +00:00
|
|
|
"""
|
|
|
|
|
|
|
|
#%% 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
|
2023-09-28 12:59:11 +00:00
|
|
|
from pathlib import Path
|
2023-09-28 12:58:25 +00:00
|
|
|
|
|
|
|
def get_imp_file(file):
|
|
|
|
with open(file, 'r', encoding='utf-8') as f:
|
2023-09-28 12:59:11 +00:00
|
|
|
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
|
2023-09-28 12:58:25 +00:00
|
|
|
|
2023-09-28 12:59:11 +00:00
|
|
|
def print_imp_dir(path="./"):
|
|
|
|
p = Path(path)
|
|
|
|
files = list(p.glob('*.py'))
|
|
|
|
for f in files:
|
2023-09-29 10:32:02 +00:00
|
|
|
print(f'{Path.cwd()}/{f}: {get_imp_file(f)}')
|
|
|
|
|
2023-10-26 07:04:31 +00:00
|
|
|
print_imp_dir()
|