Informazioni sui problemi interattivi di Python e JMPciao a tutti gli esperti
ci sono due problemi che ho imparato Python e JMP interattivo in JMP 16.2
Domanda 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)" );
il suo contesto di output:
/*********/
stampa(P)
/*********/
/*********/
stampa(z)
/*********/
prova in pitone
0
il che significa che Python non riceve il parametro P uguale a z, quindi c'è qualcosa che non va?
Q2:
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 );
Ma il contesto di output è:
/*********/
stampa(P_x)
/*********/
/*********/
stampa(x1)
/*********/
x1 = [1, 2, 3];
x2 = .;
Oltre a Q1, questo codice non riesce normalmente a generare il valore dell'elenco in Log? Si tratta di un bug per il trasferimento del valore dell'elenco tra Python e JMP?
Modellazione statistica avanzataAutomazione e scriptingRicerca sui consumatori e sul mercatoAccesso ai datiEsplorazione e visualizzazione dei datiPersonalizzazione di massaIngegneria della qualità e dei processiRi: Informazioni sui problemi interattivi di Python e JMPBenvenuto nel forum di discussione della comunità.
Per quanto riguarda la tua prima domanda, non vedo nulla di sbagliato.Quando invii valori scalari a Python e uno di essi, P non esiste in JMP, non può passare nulla a Python.Pertanto, Python non mostra alcun valore con:
print(P)
non ha nulla da visualizzare.
Per quanto riguarda il tuo Q2. Utilizzando JMP 16.2 su un PC Windows 11, ricevo il seguente output
/**********/
print(P_x)
/**********/
/**********/
print(x1)
/**********/
[[1.]
[2.]
[3.]]
x1 = [1, 2, 3];
x2 = [1, 2, 3];
Che è esattamente quello che mi aspetterei.Il codice funziona allo stesso modo su JMP 17
Ri: Informazioni sui problemi interattivi di Python e 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();
Penso che potresti preferire usarlo come ho fatto io Script del browser con Python Selenium .
- PythonExecute( { input }, { output }, " codice python che usa input e produce output " )
- prova: ... tranne ... attorno al codice Python
- restituire una stringa per il codice di ritorno, notare repr(e) per ottenere una stringa dall'eccezione
- controlla sia il codice di ritorno da PythonExecute che il codice di ritorno della stringa, sono per errori diversi
JMP non sta attualmente facendo un ottimo lavoro nella gestione degli errori nello script python; il try-except renderà il tuo lavoro molto più divertente.
Ri: Informazioni sui problemi interattivi di Python e JMPgrazie per il tuo supporto e penso di sapere cosa succede al mio JMP, perché ho appena reinstallato il sistema operativo del mio computer da WIN10 a WIN 11, che potrebbe aver perso alcuni ambienti chiave per JMP, il problema è stato risolto ma si è verificato un altro problema:
// 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();
il suo output è mostrato come di seguito:
x1 = [1, 2, 3];
x2 = [1, 2, 3];
L'invio prevede un oggetto con script in accesso o valutazione di 'Invia' , dt2 << /*####*/Nuova vista dati/*####*/
alla riga 10 in Scripting Index
ottengo il tipo di dt2 è Number: Type(dt2) = "Number";, quindi c'è qualche soluzione per questo problema?
Ri: Informazioni sui problemi interattivi di Python e JMPgrazie per la tua risposta
Ri: Informazioni sui problemi interattivi di Python e JMPscusa, ho solo dimenticato di installare i pacchetti per Python, il problema è stato risolto