There are numerous ways to read the content of a file and this answer could be infinite. The file objects have built in methods you can use. See this for instance: https://docs.python.org/3.6/tutorial/inputoutput.html#methods-of-file-objects
read()
method that reads all the content to one string
readlines()
method that reads all lines to a list (you are now at the end of the file)
readline()
method that reads one line (you are now on next row)
for row in file: ...
For loop (iterator) over the file. This will read it line by line See: How to read large file, line by line in python for instance.
So why not one way? Simply because there are tons of ways to read and write the data. Depending on the situation you will most likely want to use a different approach.
My personal favourite for smaller files is using .read() like this:
data = '''\
Adam 124 145
Beth 121 206
Andy 049 294'''
# Let's recreate the file
with open('MyData.txt','w') as f:
f.write(data)
# Open file with 'with' to ensure it is closed
# Read the whole content and split it with '\n' linbreak
# Use a list comprehension
with open('MyData.txt','r') as f:
data = [i.split(' ') for i in f.read().split('\n')] # Change ' ' to '\t' for tab
data variable is now:
[['Adam', '124', '145'], ['Beth', '121', '206'], ['Andy', '049', '294']]