Informationen zu den interaktiven Problemen mit Python und JMPhallo an alle Experten
Es gibt zwei Probleme, die ich lerne die Python und JMP interaktiv in JMP 16.2
Frage 1:
Names Default To Here( 1 );
Python Init( Echo( 1));
z ="python test";
Python Send( z,P );
Python Submit( "print(P)" );
Python Submit( "print(z)" );
sein Ausgabekontext:
/**********/
drucken(P)
/**********/
/**********/
drucken(z)
/**********/
Python-Test
0
das bedeutet, dass Python den P-Parameter, der z entspricht, nicht erhält, also ist irgendetwas falsch?
F2:
Names Default To Here( 1 );
Python Init( Echo( 1));
x1 = [1, 2, 3];
Python Send( x1, P_x );
Python Submit( "print(P_x)" );
Python Submit( "print(x1)" );
x2 = Python Get( x1 );
Show( x1, x2 );
Aber es ist der Ausgabekontext:
/**********/
drucken(P_x)
/**********/
/**********/
drucken(x1)
/**********/
x1 = [1, 2, 3];
x2 = .;
Abgesehen von Q1 kann dieser Code den Listenwert normalerweise nicht einmal im Protokoll ausgeben? Ist das ein Fehler bei der Übertragung von Listenwerten zwischen Python und JMP?
Erweiterte statistische ModellierungAutomatisierung und SkriptingKonsumenten- und MarktforschungDatenzugriffDatenexploration und -visualisierungMassenanpassungQualitäts- und ProzesstechnikBetreff: Über die interaktiven Probleme mit Python und JMPWillkommen im Community-Diskussionsforum.
In Bezug auf Ihre erste Frage sehe ich keinen Fehler.Wenn Sie Skalarwerte an Python senden und einer davon, P, nicht in JMP vorhanden ist, kann er nichts an Python übergeben.Daher zeigt Python keinen Wert mit:
print(P)
hat nichts anzuzeigen.
Zu deinem Q2. Wenn ich JMP 16.2 auf einem Windows 11-PC verwende, erhalte ich die folgende Ausgabe
/**********/
print(P_x)
/**********/
/**********/
print(x1)
/**********/
[[1.]
[2.]
[3.]]
x1 = [1, 2, 3];
x2 = [1, 2, 3];
Das ist genau das, was ich erwarten würde.Der Code funktioniert auf JMP 17 genauso
Betreff: Über die interaktiven Probleme mit Python und JMPNames Default To Here( 1 );
Python Init();
x = [1, 2, 3];
Python Send( x,Python Name("y") ); // the python name seems to be a string
Python Submit( "print(y)" );
Python Term();
Ich denke, Sie ziehen es vor, es so zu verwenden, wie ich es getan habe Browser-Scripting mit Python Selenium .
- PythonExecute( { input }, { output }, " Python-Code, der Input verwendet und Output erzeugt " )
- try: ... außer ... um den Python-Code herum
- gibt einen String für den Rückgabecode zurück, beachten Sie repr(e), um einen String aus der Ausnahme zu erhalten
- Überprüfen Sie sowohl den Rückgabecode von PythonExecute als auch den Rückgabecode der Zeichenfolge, sie sind für unterschiedliche Fehler
JMP leistet derzeit keine gute Arbeit bei der Behandlung von Fehlern im Python-Skript. Mit dem Ausprobieren macht Ihre Arbeit viel mehr Spaß.
Betreff: Über die interaktiven Probleme mit Python und JMPVielen Dank für Ihre Unterstützung und ich glaube, ich weiß, was mit meinem JMP passiert, weil ich gerade mein Computer-Betriebssystem von WIN10 auf WIN 11 neu installiert habe, wodurch möglicherweise einige wichtige Umgebungen für JMP verloren gegangen sind. Das Problem ist behoben, aber ein anderes Problem ist aufgetreten:
// This is the Scripts manual code for Python Get
Names Default To Here( 1 );
Python Init();
x1 = [1, 2, 3];
Python Send( x1 );
x2 = Python Get( x1 );
Show( x1, x2 );
dt1 = Open( "$SAMPLE_DATA/Big Class.jmp" );
Python Send( dt1 );
dt2 = Python Get( dt1 );
dt2 << New Data View;
Close( dt1 );
Python Term();
Die Ausgabe wird wie folgt angezeigt:
x1 = [1, 2, 3];
x2 = [1, 2, 3];
Send erwartet skriptfähiges Objekt beim Zugriff oder Auswertung von 'Send' , dt2 << /*###*/New Data View/*###*/
in Zeile 10 im Scripting Index
Ich erhalte, dass der Typ von dt2 Number ist: Type(dt2) = "Number";, gibt es also eine Lösung für dieses Problem?
Betreff: Über die interaktiven Probleme mit Python und JMPDanke für deine Antwort
Betreff: Über die interaktiven Probleme mit Python und JMPEntschuldigung, ich habe nur vergessen, die Pakete für Python zu installieren, das Problem ist behoben