User input function keep looping until valid filename entered The following function is basically asking the user to input a file name for a file that the calling program is going to do something with.  If the user enters an invalid file name, I want the program to loop back and give them another chance.  The code works, but is this the proper way to accomplish this?  Also, are there other errors that could get triggered that I should deal with?

def get_filename(file_type):
    while True:
        print('enter ' + file_type + ' filename: ')
        filename = input()
        print(filename)
        try:
            with open(filename, 'r') as f:
                my_file = f.read()
            return my_file
        except FileNotFoundError:
            print('No such file.  Check file name and path and try again.')


x = get_filename('TEMPLATE')
print(x)
is this the proper way to accomplish this?

Yes; looping is the best approach for this type of functionality (see e.g. Asking the user for input until they give a valid response).


are there other errors that could get triggered that I should deal with?

There are reasons other than not finding the file that opening and reading the file could fail; in this case, I would probably catch the more general OSError to handle all of these. I would also restructure slightly to minimise the code in the try block:
try:
    with open(filename) as f:  # note that 'r' is the default mode
        my_file = f.read()
except OSError:
    print('Error accessing file. Check file name and path and try again.')
else:
    return my_file


A few other minor notes:

You should consider adding a docstring, explaining what the function does and how to use it;
Currently, the file_type is only used for display purposes - consider adding checks that the user has selected an appropriate file;
Returning the string content of the file means you have to read the whole thing into memory up-front, which may not be ideal with larger files; and
I would use str.format rather than + concatenation, and just pass the text straight to input as the prompt argument rather than having a separate print call.