2016-07-10 2 views
0

Ich muss die Ausgabe einer Funktion in eine TXT-Datei umleiten. Ich verwende die Funktion printClassTree() aus der Bibliothek ontospy. Der Code meines Programms ist sehr einfach:Umleiten der Ausgabe meines Programms in eine TXT-Datei mit Linux

import ontospy 
g = ontospy.Graph("/home/gabsbelini/Documentos/ontologiaTeste.owl") 
g.printClassTree() 

Ich habe versucht:

python myprogram.py > file.txt 

Aber es funktioniert nicht. Ich bin mit Ubuntu 14.04 Wenn ich den Befehl über die „file.txt“ gerade erstellt und zeigt die Ausgabe im Terminal (Ich möchte, dass in datei.txt gespeichert werden)

+0

was meinst du mit "funktioniert nicht"? Verweisen Sie auch diese Antwort für einige Variationen: http://askubuntu.com/questions/420981/how-do-i-save-terminal-output-to-a-file – karthikr

+2

Ich frage mich, ob 'g.printClassTree()' wird aus irgendeinem Grund auf * stderr * anstelle von * stdout * gedruckt - Funktioniert 'python myprogram.py 2> file.txt'? –

+0

Es funktioniert auch Jon Clements =) danke –

Antwort

0

try T-Stück:

python myprogram.py | tee file.txt 

oder aus python

with open('file.txt', 'w') as fh: 
    fh.write(g.printClassTree()) 

EDIT Falls zu stderr gehen, können Sie versuchen:

python myprogram.py 2> & 1 | tee datei.txt

EDIT2

with open('file.txt', 'w') as fh: 
     fh.write(str(g.printClassTree())) 
+0

danke für die Hilfe, aber es hat nicht funktioniert. Mit der zweiten wurde die Datei erstellt und ein Fehler wurde ausgelöst "Typeerror: erwartet ein Zeichenpufferobjekt" Ich googelte das und wurde aufgefordert, in Zeichenfolge zu konvertieren, bevor Sie in die Datei schreiben, geändert in fh.write (str (g.printClassTree()) und die Ausgabe auf der Datei war „None“ Werden Ihren neuen Rat versuchen, vielen dank –

+0

@gabrielbelini versuchen, das zu bearbeiten. – salparadise

+0

Geck, vIELE dANK! war das versucht, für eine lange Zeit! Es hat funktioniert !! –

Verwandte Themen