0

Ich habe eine Liste von JSON-Dateien, in denen ein Feld Ausdrücke haben. Ich möchte diese Felder mit Python validieren. Ich möchte prüfen, ob sie im richtigen Format geschrieben sind oder nicht. Das Skript sollte einen Fehler ausgeben, wenn der Ausdruck wie folgt lautet: "= <" anstelle von "< =". Und ich möchte alle solche Fehlermöglichkeiten finden.Validieren logischen/booleschen Ausdruck in Python

Ich möchte mein Python-Skript, um diesen Fehler zu fangen.

Antwort

0

Sie können Regex dafür verwenden. Ich habe die angegebene Zeile genommen und etwas in dieser Richtung könnte Ihnen helfen.

import json 
import re 

data = '{ "name": "test", "id": "1", "description": "Its a test", "expressions": "{var_a} = 5", "expressions": "{var_b} = 6", "expressions": "{var_a} => {var_b}", "unittest": "test.txt" }' 

pData = json.loads(data) 

if re.search('>=',pData['expressions']): 
    print 'OK' 
else: 
    print 'Error' 
+0

, die eine statische Art und Weise ist, will ich es dynamisch sein, wie ich um 2000 solche json-Dateien und ich weiß nicht, welche Art von Fehlern ein Benutzer in diesem Ausdruck gemacht werden. Also möchte ich nur das korrekte Ausdrucksformat validieren. –

+0

Prüfen Sie nur den 'Ausdruck'? Wenn ja, wie wäre es, alle möglichen Operatoren in eine Liste zu bekommen und den Operator in der Datei dagegen zu überprüfen? – padme

+0

Ja, das kann die Lösung sein, alle gültigen Ausdrücke in eine Liste aufzunehmen, und ich habe Ihren letzten Kommentar nicht erhalten. Ich gebe a = 5 und B = 6 und vergleiche dann beide Variablen. Der letzte Ausdruck sollte {var_a}> = {var_b} lauten. –