I want a function that checks a file for changes.  

Every time it finds a change, it starts a thread and returns flow to the caller. 

```
def if_file_changes(file_loc):
    import threading, time 
    with open(file_loc, 'r') as nctn:
        state = nctn.read()
    while True:
        time.sleep(5)
        with open(file_loc, 'r') as nctn:
            check_state = nctn.read()
        if check_state != state:
            state = check_state
            check_state = None
            t = threading.Thread(return) # How do I return in a thread?
            t.daemon = True
            t.start()

```

**Edit:**  

I did not understand the problem. I was trying to create the threading at the function level when it should have been at the caller.  

My solution is below.