Ergebnis in Datei schreiben
Sooo, musste leider die letzte zeit viel arbeiten, hab mich aber jetzt nochmal ans Programm gesetzt und mit frischem Blick und einer Pause, hab ichs endlich hinbekommen, nicht die hübscheste Lösung aber dank euch klappt jetzt alles wie ichs will.
Hier ma der Code:
Jetzt würd ich gerne noch ein paar Schönheitsoperationen hinsichtlich der Ausgabe vollziehen.
Mein Ergebniss sehen so aus:
bla
1.12345
['A.BC.DE', '12_345']
bla
3.45678
['F.GH.IJ', '67_890']
bla
0.00000
['A.AA.AA', '00_000']
...
Ich würd gerne noch, dass er mir anstatt nur bla
1.bla
1.12345
['A.BC.DE', '12_345']
2.bla
3.45678
['F.GH.IJ', '67_890']
3.bla
0.00000
['A.AA.AA', '00_000']
und so weiter in Textdatei schreibt. Also die bla durchnummeriert
Kann mir da nochmal jemand eine guten Tipp geben, wie ich das am besten realisieren kann?
Hier ma der Code:
Code: Alles auswählen
....
def get_clusters(node, cutoff, parent_is_cluster):
if node.is_leaf():
return
avg=get_average_length(node)
sum_dist = sum(avg)
if node.edge.length is not None:
sum_dist -= get_num_leaf_nodes(node, 0)*node.edge.length
real_dist = sum_dist/get_num_leaf_nodes(node, 0)
if real_dist <= cutoff and not parent_is_cluster:
fobj = open("Outfile.txt", "a")
print >> fobj, "Transmissionscluster:"
print >> fobj, ""
print >> fobj, real_dist
print >> fobj, taxon_names(node)
print >> fobj, "\n"
print >> fobj, "\n"
elif real_dist > cutoff:
for n in node.child_nodes():
get_clusters(n, cutoff, False)
cutoff=float(raw_input("Enter Cutoff value: "))
get_clusters(t1.seed_node, cutoff, False)
fobj.close()
Jetzt würd ich gerne noch ein paar Schönheitsoperationen hinsichtlich der Ausgabe vollziehen.
Mein Ergebniss sehen so aus:
bla
1.12345
['A.BC.DE', '12_345']
bla
3.45678
['F.GH.IJ', '67_890']
bla
0.00000
['A.AA.AA', '00_000']
...
Ich würd gerne noch, dass er mir anstatt nur bla
1.bla
1.12345
['A.BC.DE', '12_345']
2.bla
3.45678
['F.GH.IJ', '67_890']
3.bla
0.00000
['A.AA.AA', '00_000']
und so weiter in Textdatei schreibt. Also die bla durchnummeriert
Kann mir da nochmal jemand eine guten Tipp geben, wie ich das am besten realisieren kann?
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Na, Du gibst doch in get_clusters diese Dinge aus, richtig? Dann musst Du auf jeder Rekursionsebene wissen, wie Dein Zähler grad aussieht. Also musst Du ihn als Parameter bei jedem rekursiven Aufruf mit angeben und dann innerhalb der Funktion entsprechend der Ausgaben erhöhen.