Ich habe einen einfachen Interpreter mit Python für eine Programmiersprache, die ich erstellt habe geschrieben. Ich habe jedoch ein kleines Problem: Wenn ich versuche, eine Datei zu lesen, damit der Code interpretiert werden kann, sagt Python None
.Python: Interpreter sagt "None" nach Parsing-Datei
Hier ist der Interpreter-Code:
import sys
class Interpret:
def read(self, cmd):
tokens = cmd.split("\n")
for i in range(0, len(tokens)):
self.parse(tokens[i])
def parse(self, cmd):
if cmd.startswith("print(") and cmd.endswith(")"):
cmd = cmd[6:]
cmd = cmd[:-1]
return(cmd)
interpret = Interpret()
code = open(sys.argv[1], 'r')
print(interpret.read(str(code)))
Hier ist der Code in der Datei, die ich lesen will: print(Hi)\n
(Ja, es gibt ein Newline ist, nicht die Zeichen \n
)
, also hier, was passiert ist in CMD:
> python interpreter.py test.tl
None
sollte es Ausgang Hi
, aber es nicht richtig funktioniert. Ich denke, es hat etwas mit den letzten zwei Zeilen des Interpreter-Codes zu tun, aber ich bin mir nicht ganz sicher.
Danke für die Hilfe und auch für die zusätzlichen Tipps :) – m654