Zum Inhalt springen

DeepDown

Mitglieder
  • Gesamte Inhalte

    5
  • Benutzer seit

  • Letzter Besuch

Letzte Besucher des Profils

Der "Letzte Profil-Besucher"-Block ist deaktiviert und wird anderen Benutzern nicht angezeit.

  1. Ich bin irgendwie nicht in der Lage meine Beiträge zu editieren, da ist viel Zitat im Beitrag der da eigentlich nicht rein sollte. Daher nochmal in Kurzform. In einem Modul werden die Klassen definiert, die für SQLAlchemy als ORM - Vorlagefür Tabellen dienen. In einem anderen Modul sollen in verschiedenen Funktionen Abfragen auf die Tabellen erfolgen. Das Befüllen der ersten Tabelle läuft auch durch, class fillTables: software = createTables.software software_status = createTables.software_status def fillSoftwareTable(self): createTables.createTables() fields='' delimiter='' softwareList = csvImport('data/software.csv',fields,delimiter) for dicts in softwareList: sw = createTables.software(id=dicts['SoftwareID'],productName=dicts['ProductID']) with Session(engine) as session: session.add(sw) session.commit() . für die 2. Tabelle brauche ich aber ID's aus der ersten, und in dieser Funktion bekomme ich aber den Fehler, der Tabellenname wäre nicht definiert: for stDicts in statusList: qry = select(software).where(software.productName == stDicts['name']) with Session(engine) as session: res= session.execute(qry) >> Traceback (most recent call last): >> File "C:\pycharm_dev\notify2.0bu\notify2.0b\notify2.0\insertData.py", line 80, in <module> filling.getStatusData() File "C:\pycharm_dev\notify2.0bu\notify2.0b\notify2.0\insertData.py", line 41, in getStatusData qry = select(software).where(software.productName == stDicts['name']) >> NameError: name 'software' is not defined Sollten die Tabellennamen nicht als Klassenattribute bekannt sein ? Ich habe auch versucht die Tabellennamen der Funktion zu übergeben, hat aber auch nicht funktioniert, wie mache ich das Tabellenobjekt in allen Funktionen verfügbar ?
  2. Ja ich kenne mich auch nicht besonders in Python aus, es ist aber wohl so dass jeder Funktion die in einer Klasse definiert wird immer den 'self' -Parameter in der Definition haben muss, obwohl er dann bei der Nutzung des Funktion gar nicht übergeben muss. Python hat einige Besonderheiten und es war auch nicht meine Wahl. Du hast natürlich recht, entweder ich rufe eine Instanz auf oder behandele die Funktion als statisch, aber meine Hauptsprachen wie Java oder C# erwarten dann dass eine Methode auch als static gekennzeichnet wird. In diesem Beispiel könnte also die Klasse wie die
  3. Uh sorry, ich sollte vielleicht besser posten und anschliessend schlafen habs gleichzeitig versucht. Ich hatte den Namen ein paarmal geändert weil ich nicht so ganz verstehe wie eine Klasse einen anderen Namen haben kann als die Datei in der sie sich befindet. Die Version die (auch nicht) lief sah so aus: class CsvImport: def import_csv(self,URI,fields,delimiter): if(fields=="" and delimiter==""): with open(URI, 'r',newline='') as csvFile: dictReader = DictReader(csvFile) listOfContent = list(dictReader) return listOfContent else: with open(URI, 'r') as csvFile: dictReader = DictReader(csvFile, fieldnames=fields, delimiter=delimiter) listOfContent = list(dictReader) return listOfContent Das Problem ist wie gesagt dass das Ganze mal ein einziges Script war, und ich es nun in Klassen und Methoden zerlegen muss, und die Datei liefert leider keine Liste zurück, ich habe auch schon versucht zu debuggen, habe aber keinen Breakpoint setzen können an dem das script angehalten hätte
  4. Hallo, ich habe ein sehr langes Pyhtonscript welches ich nun begonnen habe in Klassen und Methoden zu struktureren. Dabei treten aber sehr merkwürdige Fehler auf, ich kann kein Python und bin immer froh wenn ich eine Zeile geschrieben habe ohne dass die IDE meckert. Es geht hier nicht um den Inhalt der Datei, sondern um die Fehlermeldung die ich bekomme wenn ich die Datei insertData.py aufrufe kommt es zur Fehlermeldung D File "C:\pycharm_dev\test\notify2.0\insertData.py", line 17, in <module> softwareList = CsvImport.import_csv() AttributeError: module 'CsvImport' has no attribute 'import_csv' Obwohl es eine Methode mit dem Namen in der Datei gibt. Eine andere Version der Datei ist noch schlimmer . Es exisitiert eine Tabelle software, und solange das alles in einem Spaghetticode war lief es auch, plötzlich soll es die Software-Objekte nicht mehr geben ? Ich denke dass ich da (wie gesagt die Sprache ist mir nicht bekannt, wobei ich mir die Sachen dann aus anderen Sprachen zusammenreime. Aber wieso will er die Tabelle software bzw. software.productName plötzlich nicht mehr kennen ? def getStatusData(self): session = Session(engine) statusFieldNames = ['name', 'date', 'time', 'oldVersion', 'currentVersion'] delimiter =';' statusList = csvImport('data/notify_mail_sorted.txt',statusFieldNames,';') locale.setlocale(locale.LC_ALL,'en_US') ## zum Einlesen des Formats '1 Jan 2020' lastID = 0 statTemp = '' lastDate = datetime.strptime('1 Jul 2000 00:00:00', '%d %b %Y %H:%M:%S') ## Anfangsdatum für Vergleich for stDicts in statusList: qry = select(software).where(software.productName == stDicts['name']) res= session.execute(qry) Ich brauche das dringend für ein Projekt, habe aber keine Lehrer oder Verantwortlichen, die Sprache selbst ist mir fremd. Wie behebe ich dieses beiden Fehler ? Es gibt noch etliche andere aber ich werde dann versuchen ein anderes Fourm zu Rate zu ziehen, aber wenn ich diese beiden Fehler weg hätte wäre es schonmal ein Anfang. Hilfe würde ich sehr schätzen createTables.py CsvImport.py Data.py ignore.py insertData.py pyvenv.cfg testing.sqlite
  5. Hallo, ich habe vor Jahren eine Ausbildung zum Anwendungsentwickler begonnen, musste sie aber gegen Ende des Praktikums für mehrere Jahre unterbrechen, von der zuständigen IHK wurde ich quasi auf Eis gelegt, d.h. ich sollte mich für die Prüfung anmelden wenn ich gesundheitlich dazu in der Lage bin, die Vorraussetzungen für die Prüfungen sind erfüllt. Das ganze war im Rahmen einer ausserbetrieblichen Ausbildung, allerdings wird dort keine Anwendungsentwicklung mehr gemacht, der einzige Lehrer der es konnte ist nicht mehr da, dadurch bin ich auch nicht mit einer Berufsschule in Kontakt gekommen, es gibt da niemanden den ich fragen könnte. Eigentlich sollte ich auch nochmal für ein paar Monate ins Praktikum, das aber aufgrund von Corona verschoben werden sollte, ich konnte es nie antreten da die Bedingungen dafür nicht gegeben waren, allerdings habe ich einmal in der Woche ein Webmeeting, allerdings nicht mit einem Ausbilder sondern dem Verantwortlichen der Abteilung. Nun habe ich nicht mehr allzuviel Zeit die Prüfung noch zu schreiben und habe mich zur praktischen Prüfung angemeldet. Mein Problem ist dass es schon etwas her ist dass ich gelernt habe wie genau die Prüfung am besten aufgebaut wird, im Internet habe ich auch entweder nur sehr Allgemeines gefunden oder so spezielles dass mir auch das nur bedingt hilft. Leider ist meine Sachbearbeiterin der IHK an die ich mich in solchen Fällen gewandt habe im Mutterschaftsurlaub. Gibt es noch andere Möglichkeiten mit Menschen in Kontakt zu treten die sich gut mit der Thematik auskennen ? Ich bin natürlich auch gern bereit über alles was ich will kann und brauche ausführlich zu schreiben, allerdings nicht in einem so öffentlichen Rahmen wie diesem. Ich habe noch 6 Wochen Zeit mein Projekt fertigzustellen, was heisst dass die Zeit auch ein wenig drängt. Hat jemand eine Idee wie ich da weiter verfahren könnte ? Für jede Hilfe schonmal einen Dank vorweg.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...