Ich habe eine Datei aus zu lesen, dass wie folgt aussieht:assign Liste Python Objekt
0.0017224129699045 0.0006501069699993 0.9998957781816742
0.1990018751753198 0.0008531972943402 0.0001365339587167
0.3985306090674854 0.0004447825187626 0.9994454487115476
0.5997635306734566 0.0007689624538330 0.0001887505556155
0.8014083650919446 0.0007156269856168 0.9995317401042954
0.1999636426048639 0.1995427045657650 0.0017775030876521
Jede Spalte eines Atoms zeigt koordinieren. Ich möchte Koordinaten als ein Objekt in Python definiert das Atom zuzuordnen:
# The parser
#!/usr/bin/python3
def get_pos():
with open("CONTCAR", "r") as finp:
for line in finp:
for _ in range(6):
sdata = finp.readline()
tpos.append(sdata.split())
print(tpos)
Und die aufrufende Funktion ist:
#!/usr/bin/python3
import parsepos
class Atom:
count = 0
def __init__(self, name, pos=[], vel=[]):
self.name = name
self.pos = pos
self.vel = vel
Atom.count += 1
# self.parse = parsepos.get_pos()
parsepos.get_pos()
Dieses mcwe
, zeigt die Atome richtig aufgeführt sind, in list tpos
, aber ich weiß nicht, wie man diesen Wert atom.pos
zuweist.
Bitte helfen.
Mit '#!/Usr/bin/env python3' anstelle von' #!/Usr/bin/python3' finden Sie den Python-Interpreter, egal wo er installiert ist ... – linusg
Warum nicht 'atom.pos = was auch immer' ? –
'Atom.pos = parsepos.get_pos() drucken (Atom.pos)' yeilds 'none' – BaRud