2014-01-31 3 views
9

Ich bin neu in Python-Programmierung. Ich habe ein Python-Skript und ich versuche, es mit dem Befehl cProfile Profil. Ich tippte die folgendeProfil ein Python-Skript mit cProfile in eine externe Datei

python -m cProfile -o readings.txt my_script.py 

Es readings.txt erzeugt. Aber wenn ich versuche, die Datei mit einem Standard-Texteditor oder Notizblock zu öffnen, wird die Datei nicht ordnungsgemäß geöffnet. Es enthält nicht die Daten

Kann mir bitte jemand sagen, wie Sie diese Statistiken in eine externe Datei speichern, die mit Notepad geöffnet werden kann ??

Ich verwende Windows-Plattform

+0

Ich bin ziemlich sicher, dass das Ergebnis eines Profilers nicht Text bearbeitet werden kann. Es ist in der Pstat-Form. Schauen Sie sich die Dokumentation schnell an und erfahren Sie, wie Sie diese Dateien öffnen können. – ZekeDroid

Antwort

8

Die Ausgabedatei vom cProfile -o Modul erzeugt wird, nicht Klartext; Es ist ein serialisiertes pstats.Stats Objekt. Anstatt die Option -o zu verwenden, leite ich stdout in der Regel einfach in die Datei um, die ich erstellen möchte.

python -m cProfile -s time my_script.py > profile.text 2>&1 

Andernfalls müssen Sie nur das pstats Modul verwenden, um die Datei zu lesen und seinen Inhalt prüfen (siehe die Dokumentation oben verlinkten).

+0

Kann der obige Code verwendet werden, wenn Sie in der Ubuntu-Plattform arbeiten? – user3217603

+1

@ user3217603 Ja, der Python funktioniert genau gleich. Wenn Sie das Flag "-o" nicht angeben, druckt das Modul "cProfile" die Ergebnisse auf stdout. Leiten Sie einfach stdout um, wo immer die Ausgabe angezeigt werden soll. Ich glaube, dass die Syntax identisch ist mit dem, was ich oben geschrieben habe, aber es ist eine Weile her, seit ich irgendetwas an * nix getan habe. –

Verwandte Themen