def filter_direct_from_read(pFileName, **kwargs):
    """
    Filters a file line by line returning all lines that match a filter
    Uses list comprehension that applies the filter function in its "if" clause

    Args
         pFileName the name of the file
         kwargs
             "skip_header" returns the list from item 1, when set to True, default is to include the first
             "filter" a function takes a string as a parameter and returns true or false. 

    """
    filter = None
    skip_header = False
    lines =  []
    try:
        with  open(pFileName,'r') as f:
            
            if 'filter' in kwargs: # https://thispointer.com/python-how-to-check-if-a-key-exists-in-dictionary/
                filter = kwargs["filter"]     
                lines = [line for line in f.readlines() if filter(line)] 
            else :
                lines =  f.readlines() 
            
            if 'skip_header' in kwargs and kwargs['skip_header'] == True:
                lines = lines[1::]


    except FileNotFoundError:
        print("File is not found.")

    return lines