So prüfen Sie, ob Sie sich in einem Jupyter-Notebook befinden

9

Ich erstelle ein Python-Modul mit einer Funktion zum Anzeigen eines Pandas DataFrame ( my_df ).

Wenn der Benutzer das Modul in ein Jupyter-Notebook importiert, möchte ich "hübsche" Formatierungen für den DataFrame liefern, indem ich etwas wie folgt verwende:

%Vor%

Wenn sich der Benutzer nicht in einem Jupyter-Notizbuch befindet, möchte ich die Textform des DataFrame anzeigen:

%Vor%

Wie kann ich überprüfen, ob der Code von einem Jupyter-Notebook ausgeführt wird? Oder, wie kann ich den DataFrame in Textform von der Befehlszeile anzeigen, oder das HTML-Formular anzeigen, wenn es in ein Jupyter-Notizbuch importiert wird?

%Vor%     
mgoldwasser 21.05.2017, 18:39
quelle

2 Antworten

6

Sie müssen nicht überprüfen, ob der Code von einem Notebook ausgeführt wird. display() druckt Text, wenn er von der Befehlszeile aus aufgerufen wird.

test.py :

%Vor%

Über die Befehlszeile:

%Vor%

Von einem Jupyter Notebook:

UPDATE
Um zu überprüfen, ob Sie in einer interaktiven Ipython-Shell (Befehlszeile oder browserbasiert) ausgeführt werden, prüfen Sie, ob get_ipython vorhanden ist. (Angepasst von den Ipython Dokumenten)

Modifiziert test.py :

%Vor%

Dieser Ansatz wird:
- Pretty-Print in einem Browser Jupyter Notebook - Text drucken, wenn er als Skript über die Befehlszeile ausgeführt wird (z. B. python test.py )
- Wenn es in einer Python-Shell Zeile für Zeile ausgeführt wird, wird es nach dem Drucken nicht zu einer interaktiven Ipython-Shell.

    
andrew_reece 21.05.2017, 19:13
quelle
0

Sie sollten in os.environ suchen.

Auf meinem Computer können Sie es in

sehen %Vor%     
Amit Wolfenfeld 21.05.2017 18:48
quelle