Reihe einlesen
Verfasst: Dienstag 20. November 2012, 09:48
Hallo!
Ich möchte gern ein Phytonskript verändern.
Mein Programm liest zurzeit einen Startwert, einen Endwert und die Schrittgröße ein.
Ich möchte aber eine Zahlenreihe vorgeben, also statt „1 2 3 4 5“ „1.2 2.1 3.0 4.5 5“.
Meine Zahlenreihe würde ich in J.dat speichern.
Folgende Ausgangssitiation habe ich:
------------------------------------------------ Mein Vorschlag-----------------------
---------------------------------------------------------------------------------
Fehlermeldung: Traceback (most recent call last):
File "01_auxfiles/ffd.py", line 36, in <module>
for line in jinc:
ValueError: I/O operation on closed file
Ich hoffe, dass die Informationen reichen.
Wo ist mein Denkfehler? Wieso kann man das so nicht machen?
Lieben Dank
Alex
Ich möchte gern ein Phytonskript verändern.
Mein Programm liest zurzeit einen Startwert, einen Endwert und die Schrittgröße ein.
Ich möchte aber eine Zahlenreihe vorgeben, also statt „1 2 3 4 5“ „1.2 2.1 3.0 4.5 5“.
Meine Zahlenreihe würde ich in J.dat speichern.
Folgende Ausgangssitiation habe ich:
Code: Alles auswählen
# Berechnungsbereich (J-Werte alle mit Faktor 10 angeben!!)
jstart = int(sys.argv[3])
jend = int(sys.argv[4])
jinc = int(sys.argv[5])
…
…
for j in range (jstart,jend+1,jinc):
n = float(j)/10
jfile = open("J%s.pcl" %n, "w")
jfile.write("<poti_control caption=\"noName\"> \n")
jfile.write("<float name=\"J\" value=\"%s\" /> \n" % str(n))
jfile.write("</poti_control>\n")
jfile.close()
list = []
cmd = ["/../Programm", "J%s.pcl" %n, "%s.pcl" %name, "-noGui"]
subprocess.call(cmd)
os.remove("J%s.pcl" %n)
if (n%1) == 0.0:
n = int(n)
input = open("result_%s_%s.res" % (folder, n), "r") # Hier noch Dateinamen variabel machen
for line in input:
column=line.split()
list.append(column)------------------------------------------------ Mein Vorschlag-----------------------
Code: Alles auswählen
# Berechnungsbereich (J-Werte alle mit Faktor 10 angeben!!)
jstart = int(sys.argv[3])
jend = int(sys.argv[4])
jinclist =[]
jinc=open("J.dat","r")
for line in jinc:
column=line.split()
jinclist.append(column)
jinc.close()
…
…
for j in range (jstart,jend+1,1):
n = float(jinc[j][1])/10
jfile = open("J%s.pcl" %n, "w")
jfile.write("<poti_control caption=\"noName\"> \n")
jfile.write("<float name=\"J\" value=\"%s\" /> \n" % str(n))
jfile.write("</poti_control>\n")
jfile.close()
list = []
cmd = ["/../Programm", "J%s.pcl" %n, "%s.pcl" %name, "-noGui"]
subprocess.call(cmd)
os.remove("J%s.pcl" %n)
if (n%1) == 0.0:
n = int(n)
input = open("result_%s_%s.res" % (folder, n), "r") # Hier noch Dateinamen variabel machen
for line in input:
column=line.split()
list.append(column)Fehlermeldung: Traceback (most recent call last):
File "01_auxfiles/ffd.py", line 36, in <module>
for line in jinc:
ValueError: I/O operation on closed file
Ich hoffe, dass die Informationen reichen.
Wo ist mein Denkfehler? Wieso kann man das so nicht machen?
Lieben Dank
Alex