2017-05-09 6 views
-2

ich Zusammenführen von zwei Dokumenten So und zum Ausgeben eines dritten DateiNameerror: name '' nicht definiert

ich den Fehler

Traceback (most recent call last): 
File "summarize.py", line 124, in <module> 
train_data = set(document3) 
NameError: name 'document3' is not defined 

Dies ist, was ich getan habe:

Code:

 filenames = ["/home/mustafa/data/combinedfile.txt", "/home/mustafa/data/sentences.txt"] 
    with open("document3", "wb") as outfile: 
     for fname in filenames: 
      with open(fname) as infile: 
        outfile.write(infile.read()) 
    train_data = set(document3) 

Was mache ich falsch?

+3

Einfach haben Sie keine Variable namens 'document3'. –

+0

Ich bin kein Pythonist, aber es sieht so aus, als hätten Sie einige "" um document3 am Ende vergessen. –

Antwort

1

Es scheint, dass Sie versuchen, in eine Datei schreiben 'document3 'und Sie versuchen, aus dieser Datei zu lesen (nach Ihrem Kommentar). Wenn das der Fall ist, sollten Sie diese Datei zuerst lesen und dann müssen Sie die Daten verarbeiten. So wird der Code sein

filenames = ["/home/mustafa/data/combinedfile.txt", "/home/mustafa/data/sentences.txt"] 
with open("document3", "wb") as outfile: # here document3 is file name 
    for fname in filenames: 
     with open(fname) as infile: 
       outfile.write(infile.read()) 
train_data = set(open("document3").read().replace("\n","")) #this will read all data from document3 and stores as a set. 
+0

Ja, ich möchte, dass diese Datei meine train_data ist. – Silas

+0

Code wurde entsprechend dem Kommentar geändert. – Mani

+0

Und wenn ich es nicht als Set haben möchte aber nur eine Datei? – Silas

Verwandte Themen