2017-02-02 1 views
0

Ich habe eine Liste von Dateinamen in der Datei dateinames.txt. Ich öffne alle Dateien eins nach dem anderen und möchte das Ergebnis einer Operation in ein anderes Verzeichnis, aber mit demselben Dateinamen schreiben. Bisher habe ich das versucht, aber das wird nicht funktionieren. Irgendeine Hilfe?Ausgabe von for-Schleife in mehrere Dateien mit demselben Dateinamen wie Eingabedatei schreiben

Meine Frage ist ähnlich, aber ich möchte nicht, dass die Dateien von count/enumerate benannt werden. Ich möchte, dass die Namen mit dem Namen der Eingabedatei übereinstimmen: Write output of for loop to multiple files

Antwort

1

Ihre Formatanweisung ist falsch. Es sollte "/home/morty/dir/%s" %name

sein, aber wenn Sie einen Verzeichnisnamen mit einem Dateinamen anschließen mögen, ist am besten os.path.join wie folgt zu verwenden:

for name in names: 
    with open(os.path.join("/home/morty/dir",name),"w") as save: 
     save.write(---some operation---) 

(und ein with Kontextblock, um sicherzustellen, dass die Datei geschlossen, wenn fertig)

Verwandte Themen