Speichern der Ausgabe einer for-Schleife in Datei
Ich habe eine Datei geöffnet mit blast-Ergebnisse ausgedruckt, die zuvor im fasta-format auf den Bildschirm.
Der code sieht so aus:
result_handle = open("/Users/jonbra/Desktop/my_blast.xml")
from Bio.Blast import NCBIXML
blast_records = NCBIXML.parse(result_handle)
blast_record = blast_records.next()
for alignment in blast_record.alignments:
for hsp in alignment.hsps:
print '>', alignment.title
print hsp.sbjct
Dieser gibt eine Liste von fasta-Dateien auf dem Bildschirm.
Aber wie kann ich eine Datei erstellen und speichern Sie die fasta-Ausgabe zu dieser Datei?
Update: ich glaube, ich würde zu ersetzen, die print-Anweisungen innerhalb der Schleife mit etwas.schreiben(), aber wie wird das '>',, - Ausrichtung.Titel, die wir geschrieben???
InformationsquelleAutor Jon | 2009-11-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Erstellen Sie zunächst ein file-Objekt:
Können Sie in eine Datei drucken Objekt:
Oder schreiben Sie an:
Können Sie schließen Sie es, nett zu sein:
In einem lang andauernden Prozess, ja, in einem einfachen Skript ist es egal, wie die Dateien werden geschlossen, wenn das Skript beendet wird.
InformationsquelleAutor truppo
Sowas
lieber nicht verwenden
print >>
als das nicht mehr funktioniert in Python ist3InformationsquelleAutor John La Rooy
können Sie
with statement
um sicherzustellen, dass die Datei geschlossenoder verwenden Sie
try ... finally
InformationsquelleAutor Victor Kotseruba
Gibt es generell zwei Ansätze. Außerhalb von python:
Oder innerhalb von Python:
InformationsquelleAutor Greg Hewgill
aus irgendeinem Grund den code oben gepostet von OP hat bei mir nicht funktioniert.. ich ein bisschen modifiziert
InformationsquelleAutor user3224522