Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Python Code validierung mit c#
mariob1
myCSharp.de - Member



Dabei seit:
Beiträge: 22

Themenstarter:

Python Code validierung mit c#

beantworten | zitieren | melden

Hi,

ich will versuchen meinen Eigenen Python Code mittels C# zu überprüfen.
Hat da eventuell jemand schon erfahrung damit und kann mir da ein paar Tipps/Vorschläge geben?

Meine Idee wäre es, bei einem Button "validiere", auf der GUI zu klicken und der eingegebene Code wird mittels des Python-Syntaxparsers überprüft. Falls der Code Fehler enthält wird dies, wie im VS, mit Zeilennummer, angezeigt.

Danke schon im voraus
private Nachricht | Beiträge des Benutzers
Corpsegrinder
myCSharp.de - Member



Dabei seit:
Beiträge: 401

beantworten | zitieren | melden

Ich denke das geht leichter, wenn du es direkt mit Python machts. Siehe exec. Einfach Zeile für Zeile ausführen und wenn es knallt haste die Zeilennummer.

edit: Obwohl das natürlich nur für einfachen Code geht...

edit 2: Du willst dir also einen Parser bauen, der deinen Code aus Korrektheit überprüft, der wie verstehe ich das? Wäre es nicht einfacher Tests zu schreiben? Dann hast du zwar nicht die genaue Zeile, aber es ist deutlich weniger Aufwand und Tests sollte man eh schreiben ;-)
Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Corpsegrinder am .
private Nachricht | Beiträge des Benutzers
mariob1
myCSharp.de - Member



Dabei seit:
Beiträge: 22

Themenstarter:

beantworten | zitieren | melden

danke dir für deine Antworten!

mit Python habe ich keine Erfahrungen gesammelt, eher mit C#. Ich habe mir auch die Syntax von Python angesehen. Schwer ist diese nicht, aber trotzdem möchte ich bei C# bleiben.

zu deinem 2. Edit:
Ja, das hast du richtig verstanden, dass ich mir sozusagen einen Parser bauen will. In wie fern meinst du Test schreiben?
Ich möchte schon genau die Zeile wissen, wo der Fehler aufgetreten ist.

Thx
private Nachricht | Beiträge des Benutzers
Corpsegrinder
myCSharp.de - Member



Dabei seit:
Beiträge: 401

beantworten | zitieren | melden

Das Problem ist, dass Python dynamisch typisiert ist, du also häufig erst zur Laufzeit weisst, von welchem Typ ein Objekt ist. Genauer gesagt immer dann, wenn das Objekt nicht im aktuellen Kontext erstellt wird. Deswegen wirst du nie durch eine reine Analyse des Quellcodes alle Fehler, bzw. durch eine solche Analyse nur die wenigsten Fehler finden können.

Mit Tests schreiben meine ich z.B. Unittests. Die sagen dir zwar nicht genau welche Zeile Fehlerhaft ist, dafür aber, in welcher Methode.

Btw. liefert der Python Interpreter dir die Angaben, die du haben möchtest. Also Dateiname und Zeilennummer, in der der Fehler aufgetreten ist.
private Nachricht | Beiträge des Benutzers
b-oern
myCSharp.de - Member



Dabei seit:
Beiträge: 45

beantworten | zitieren | melden

Schau dich mal im IronPhyton Umfeld um, IronPhyton sollte eigentlich einen Parser für Phython haben und ist in C# ansprechbar...
private Nachricht | Beiträge des Benutzers