Seite 1 von 1

intertools.product einzelne parametersets lesen

Verfasst: Montag 20. Juli 2020, 19:44
von fox1203
Hallo, ich muss für 5 verschiedene parameter einen min und max wert, sowie den zugehörigen step definieren, dies erfolgt über:

Code: Alles auswählen

import itertools
import numpy as np


# input parameter range:
density_dry = np.arange(1600,2250,50)
saturation = np.arange(0.05,1.1,0.31)
diameter = np.arange(0.8,4.6,0.1)
cement_content = np.arange(80,950,10)
start_temp = np.arange(10,31,1)
Diese einzelnen Parameter werden über itertool.product erfolgreich kombiniert:

Code: Alles auswählen

# calculate parametersets:
print(">>> calculate parametersets")
parameter_iteration = itertools.product(density_dry, saturation, diameter, cement_content, start_temp)
soweit so gut, nun steht zB in der ersten Zeile:

1600, 0.05, 0.8, 80, 10
usw.

soweit so gut. Jetzt muss ich eben Zeile für Zeile in ein TXT File im Format:

1600
0.05
0.8
80
10
ein statischer Wert
ein statischer Wert
ein statischer Wert
ein statischer Wert

das habe ich bislang nur ohne der intertools.product funktion geschafft

Code: Alles auswählen

arameterset = open ("input_parameterset.txt", "w")
devries.write(str(density_dry))
devries.write("\n")
devries.write(str(saturation))
devries.write("\n")
devries.write(str(diameter))
devries.write("\n")
devries.write(str(cement_content))
devries.write("\n")
devries.write(str(start_temp))
devries.write("\n")
devries.write 	(
		"1\n"
		"0.9\n"
		"0\n"
		"10\n")
devries.close()
anschließend soll ein binäres Programm aufgerufen werden, welches leider ein txt in genau dem Format benötigt:

Code: Alles auswählen

subprocess.run('./iteration')
Kann mir jemand bei dem Zwischenschritt weiterhelfen, wie ich die Parametesets Zeile für Zeile in das TXT File bekomme und Zwischendurch das binäre file auszuführen kann. Dieser Schritt soll sich wsl im 6 stelligen Bereich wiederholen.

Danke schon mal vorweg

Re: intertools.product einzelne parametersets lesen

Verfasst: Montag 20. Juli 2020, 19:57
von Sirius3
Du brauchst eine for-Schleife.