python: Ignorieren von führenden "" und "..." im interaktiven Modus?

8

Viele Online-Python-Beispiele zeigen interaktive Python-Sessions mit normalem "& gt; & gt; & gt;" und "..." Zeichen vor jeder Zeile.

Oft gibt es keine Möglichkeit, diesen Code zu kopieren, ohne auch diese Präfixe zu erhalten.

Wenn ich in diesen Fällen diesen Code nach dem Kopieren wieder in meinen eigenen Python-Interpreter einfügen möchte, muss ich zuerst die Präfixe entfernen.

Kennt irgendjemand einen Weg, um Python oder iPython (oder irgendeinen anderen Python-Interpreter) zu veranlassen, führendes "& gt; & gt; & gt;" und "..." Zeichen in Zeilen, die eingefügt werden?

Beispiel:

%Vor%     
HippoMan 18.01.2016, 18:06
quelle

3 Antworten

2

Sie müssen nur autoindent ausschalten, um >>> und ... in einem mehrzeiligen Einfügen einzufügen:

%Vor%

Oder kopieren Sie nicht die >>> und es funktioniert gut:

%Vor%     
Padraic Cunningham 18.01.2016, 18:30
quelle
5

IPython macht das automatisch für Sie.

%Vor%     
Daniel Roseman 18.01.2016 18:09
quelle
1

Nicht ganz dasselbe wie Einfügen in die Shell, aber das doctest Modul kann nützlich sein. Es scannt ein Python-Modul oder eine normale Textdatei nach interaktiven Skriptfragmenten und führt sie dann aus. Sein primärer Anwendungsfall ist die Mischung von Dokumentation und Komponententest. Angenommen, Sie haben ein Lernprogramm wie

%Vor%

Speichern Sie es in einer Datei und führen Sie doctest

aus %Vor%

doctest führt die Skriptfragmente aus und vergleicht sie mit der erwarteten Ausgabe.

AKTUALISIEREN

Hier ist ein Skript, das den Inhalt der Zwischenablage übernimmt und die Python-Skriptfragmente wieder einfügt. Kopieren Sie Ihr Beispiel, führen Sie dieses Skript aus und fügen Sie es in die Shell ein.

%Vor%     
tdelaney 18.01.2016 18:49
quelle