2016-06-29 53 views
1

Ich habe einen Code erstellt, um zwei TXT-Dateien zu erstellen, sie zu vergleichen und die Ergebnisse in eine andere TXT-Datei zu exportieren. Unten ist mein Code (sorry wegen der Sauerei).Schreiben von Ergebnissen in eine TXT-Datei

Irgendwelche Ideen? Oder bin ich nur ein Idiot?

mit Python 3.5.2:

# Barcodes Search (V3actual) 

# Import the text files, putting them into arrays/lists 

with open('Barcodes1000', 'r') as f: 
    barcodes = {line.strip() for line in f} 

with open('EANstaging1000', 'r') as f: 
    EAN_staging = {line.strip() for line in f} 

##diff = barcodes^EAN_staging 
##print (diff) 



in_barcodes_but_not_in_EAN_staging = barcodes.difference(EAN_staging) 

print (in_barcodes_but_not_in_EAN_staging) 

# Exporting in_barcodes_but_not_in_EAN_staging to a .txt file 

with open("BarcodesSearch29_06_16", "wt") as BarcodesSearch29_06_16: # Create .txt file 
    BarcodesSearch29_06_16.write(in_barcodes_but_not_in_EAN_staging) # Write results to the .txt file 
+0

Was ist das spezifische Problem? Was ist das erwartete Verhalten? Sie müssen erklären, was vor sich geht, nicht nur sagen: "Irgendwelche Ideen?". –

+3

Schlagen Sie einen bestimmten Fehler? - Sie können Ihren Beitrag auch in einem Codeblock formatieren. 4 Leerzeichen am Anfang einer Zeile beginnt ein Codeblock – sytech

+0

@Rick S Sorry über die vage Frage. Die Ergebnisse werden nicht wie erwartet in der Textdatei angezeigt. – minidave2014

Antwort

1

Versuchen BarcodesSearch29_06_16.write(str(in_barcodes_but_not_in_EAN_staging)). Außerdem sollten Sie die Datei nach dem Schreiben mit BarcodesSearch29_06_16.close() schließen.

+0

Danke, das hat wirklich geholfen! – minidave2014

2

Aus den Kommentaren zu Ihrer Frage klingt es wie Ihr Problem ist, dass Sie Ihre Liste der Zeichenfolgen als Datei speichern möchten. File.write erwartet eine einzelne Zeichenfolge als Eingabe, während File.writelines eine Liste der Zeichenfolgen erwartet, was Ihre Daten zu sein scheinen.

with open("BarcodesSearch29_06_16", "wt") as BarcodesSearch29_06_16: 
    BarcodesSearch29_06_16.writelines(in_barcodes_but_not_in_EAN_staging) 

Das durch die Liste durchlaufen wird in_barcodes_but_not_in_EAN_staging, und jedes Element als eine separate Zeile in der BarcodesSearch29_06_16 Datei schreiben.