Ich habe eine Datei, die im Grunde wie folgt aussieht:Verketten am Ende eines Strings - Python
atom
coordinateX coordinateY coordinateZ
atom
coordinateX coordinateY coordinateZ
...
Ich versuche, die Atomzahl (ab 0), so dass meine Datei aussehen würde hinzufügen dies:
atom0
coordinateX coordinateY coordinateZ
atom1
coordinateX coordinateY coordinateZ
...
Hier ist mein Code und mein Problem:
readFile = open("coordinates.txt", 'r')
writeFile = open("coordinatesFormatted.txt", 'w')
index = 1
counter = 0
for lineToRead in readFile:
lineToRead = lineToRead.lstrip()
if index % 2 == 0:
counter = counter + 1
lineToRead+=str(counter)
writeFile.write(lineToRead)
index = index+1
readFile.close()
writeFile.close()
f = open('coordinatesFormatted.txt','r')
temp = f.read()
f.close()
f = open('coordinatesFormatted.txt', 'w')
f.write("0")
f.write(temp)
f.close()
Statt meine gewünschte Ausgabe zu haben, nachdem ich meinen Code ich betreibe get this:
0atom
coordinateX coordinateY coordinateZ
1atom
coordinateX coordinateY coordinateZ
...
Jede Hilfe wäre willkommen!
Ihre Lösung ist mehr Python als meine. upboting es :) Auch wenn Anfänger FORTRAN-ähnliche Sachen bevorzugen, um die Sprache zu erhalten. –
@ Jean-FrançoisFabre Ich wollte nicht posten, nachdem du geantwortet hast, aber ich fühlte, dass die beiden Zähler unnötig waren. Ihre Erklärung war jedoch großartig –
Sie hatten Recht, dies zu tun. Ich habe so schnell wie möglich geantwortet. Und mit deinem Beitrag bin ich derjenige, der etwas über Itertools gelernt hat. Außerdem sind wir hier, um den Leuten zu zeigen, wie man richtig programmiert und nicht nur die Probleme löst. –