Alright guys, I'm kinda new to python.
I've made a kind of an organiser program that allows you to make entries with deadlines, write them to a text file and display them in human readable format when I want it to.
I first made it in command line and it worked perfectly there but when I tried to make a GUI for it with Tkinter, I split it into multiple files and classes for easy handling and tried to make it read stuff from a file for a start.
I get the error AttributeError: 'FunctStatements' object has no attribute 'difference' when I run my code.
Here's the initialization of FunctStatements in the module "GUIModule.py"
self.FunctObject = FunctStatements()
and its use in the same module
def WriteToList(self): for x in self.FunctObject.readfile(self.path): self.StuffDisplayer.insert(END, x)
Here is "FunctModule.py" which does the actual File I/O
from datetime import date import datetime class FunctStatements: def readfile(self,path): try: self.f = open(path, 'r') except IOError: print("Cannot open file\n") self.f.seek(0) self.line = self.f.readlines() self.number = 0 for x in self.line: if(x == '1'): self.entering = x self.number += 1 elif(x == '2'): self.description = x[2:] elif(x == '3'): self.deadline = date(int(x[2:6]), int(x[7:9]), int(x[10:12])) self.difference = self.deadline - self.now.date() if(self.difference.days >= 0): #this line returns the error self.output = ("Entry no: " + str(self.number) + "\n" + "Date and time of entering: "\ + str(self.entering) + "Message: " + str(self.description) + \ "Deadself.line: " + str(self.deadline) + "\n" + "Days left: " + \ str(self.difference.days) + "\n") self.outputlines =  self.outputlines.append(self.output) yield self.outputlines self.f.close() def __init__(self): self.now = datetime.datetime.now()
Judging by the looks of it, I guess the problem is staring me right in the face.:-/