Hey I have a following problem, I need to open a file in __init__()
, and with check
function I need to check if strings/numbers in rows of this file are the same or not. If they aren't it should return True
if they are it should return False
, and if there are no more lines None
. I do not know how many lines are there going to be in the file. My code is working kind of, tester is giving me 90%, but it says I do not close the file, I understand why it is saying, but do not know where to put the close. However if I opened it with with
it should be working but I do not know how to get it working that way.
My Code:
class Program:
def __init__(self, file_name):
self.t = open(file_name, 'r')
def check(self):
row = self.t.readline()
array = []
for i in row.split():
if i not in array:
array.append(i)
if row.split() == []:
return None
elif array == row.split():
return True
else:
return False
"""
#testing
if __name__ == '__main__':
u = Program('file.txt')
z = True
while z is not None:
z = u.check()
print(z)
"""
Example file:
15 9 22
2014 2015 2014 2015
p py pyt pyth pytho python
ab ab ab ab ab