2016-06-15 6 views
0

Ich habe ein Notebook in Python 2 und ein Notebook in Python 3. Code in das Notebook geschrieben 2 kann nicht direkt auf Python 3 aufgrund von Syntaxunterschieden übertragen werden. Allerdings möchte ich den Code nicht importieren, ich möchte nur die endgültige Antwort importieren, die ich nach dem Ausführen des Codes erhalten habe.Importieren zwischen verschiedenen Versionen von Python

Notebook_A: Python 2 

def func(x): 
    print x 
    return x 

z = f(3) #z is now 3, I want to import the value 3. 

Notebook_B: Python 3 

from Notebook_A import z 
    SyntaxError: missing parentheses in call to 'print' 

Jetzt konnte ich zu func zurückgehen und den Code ändern, so dass es Python 3 Syntax entspricht, aber in dem Fall, dass Func komplizierter ist, ich frage mich, ob es eine allgemeinere Art und Weise ist. Gibt es eine Möglichkeit, den endgültigen Wert einer Variablen zu speichern, damit das Notebook den Code, der den Wert generiert hat, vergessen kann?

Dank

Antwort

0

Sie benötigen eine Datenstruktur zu alt, diese Informationen und die Definition Protokolle für diese Datenstruktur Handhabung.

Zum Beispiel gemeinsame, gut unterstützt, Datenstrukturen in einer Client/Server-Architektur verwendet werden json (vorgeschlagen)/XML Sie können auch eine TXT-Datei mit dem Ergebnis generieren.

Codieren Sie einfach Ihre Ergebnisse in Python 2.x und dekodieren Sie sie in Python 3.y.

+0

Das 'pickle' Modul ist ein anderes mögliches Format – ppperry