IOError: [Errno 2] Keine solche Datei oder Verzeichnis Python
Ich habe diesen Code, der versucht zu finden*.vm
Dateien, und senden Sie sie an einen anderen
Modul habe ich gemacht, das die Zeilen lesen soll.
Dies ist die Hauptdatei:
<code>def VMTranslte(fileName): print "FILEOVER ",fileName from parser import Parser from codeWriter import CodeWriter if (fileName[-3:] == ".vm"): outputFile = fileName[:-3]+".asm" myWrite = CodeWriter(outputFile) myWrite.setFileName(fileName) myParser = Parser(fileName) myWrite.setFileName(fileName); translate(myParser,myWrite) else: if fileName[-1:] == "/": <===== CHECKS FOR DIRECTORY mystr = fileName.split('/')[-2] mystr = mystr.split('.')[0]+".asm" outputFile = fileName+mystr else: outputFile = fileName+".asm" myWrite = CodeWriter(outputFile) for child in os.listdir(fileName): if child.endswith('.vm'): <===== CHECK IF THERE IS *.vm FILE print "CHILD: ",child <===== PRINTS THE FILE WANTED (MEANING FINDS IT) myWrite.setFileName(child); myParser = Parser(child) <===== CALLS THE READER MODULE DESCRIBED AT THE BOTTOM translate(myParser,myWrite) myWrite.close() </code>
das Modul, das die Zeilen lesen soll:
<code>#Constructor for Parser module. def __init__(self,fileName): import re self.cmds = [] self.counter = 0 myFile = open(fileName, 'r') <=====ERROR OVER HERE fLines = myFile.readlines() for value in fLines : lineStrip = value.strip() if not (re.match("//",lineStrip) or len(lineStrip)==0): self.cmds.append(lineStrip) </code>
der fehler ist:
<code> File "/Users/***/Desktop/dProj7/parser.py", line 19, in __init__ myFile = open(fileName, 'r') IOError: [Errno 2] No such file or directory: 'BasicTest.vm' </code>
es ist klar, dass das Skript die Datei findet (er geht in die erste Schleife),
was ist hier los