diegopagini / Serial-Number-Finder_Python

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Serial-Number-Finder_Python

import re
import os
import time
import datetime
from pathlib import Path
import math

init = time.time()
url = 'C:\\Users\\my_user\\desktop\\directory'
my_pattern = r'N\D{3}-\d{5}'
today = datetime.date.today()
found_numbers = []
found_files = []


def search_number(file, pattern):
    this_file = open(file, 'r')
    text = this_file.read()
    if re.search(pattern, text):
        return re.search(pattern, text)
    else:
        return ''


def create_list():
    for folder, sub_folder, file in os.walk(url):
        for f in file:
            result = search_number(Path(folder, f), my_pattern)
            if result != '':
                found_numbers.append(result.group())
                found_files.append(f.title())


def show_all():
    index = 0
    print("-" * 50)
    print(f"Search date: {today.day}/{today.month}/{today.year}")
    print("\n")
    print("File\t\t\tSerial number:")
    print("-------\t\t\t-------")
    for f in found_files:
        print(f"{f}\t{found_numbers[index]}")
        index += 1
    print("\n")
    print(f"Founded numbers: {len(found_numbers)}")
    end = time.time()
    duration = end - init
    print(f"Duration of the search: {math.ceil(duration)}")


create_list()
show_all()

About


Languages

Language:Python 100.0%