Detener la escritura del código Python en el registro JMP¿Hay alguna manera de evitar que JMP imprima en el registro una copia del código enviado a Python?
Parece que cada vez que corro
Python Submit( code )
Recibo una copia del código en el registro.
Si solo se ejecuta una vez, no es gran cosa, pero si se ejecuta una pequeña porción de Python muchas veces, satura el registro, lo que hace que los mensajes reales sean más difíciles de encontrar. ¿También tiene un impacto en el rendimiento debido a la escritura en la pantalla?
Estoy usando JMP 18.0.1.
Ejemplo sencillo:
Names Default To Here( 1 );
for(i = 1, i <= 10, i++,
Python Send( i );
Python Submit( "\[
b = i / 2
a = b ** 2]\" );
show( geta = Python Get( a ) );
);
Da lo siguiente:
/*:
//:*/
b = i / 2
a = b ** 2
/*:
geta = Python Get(a) = 0.25;
//:*/
b = i / 2
a = b ** 2
/*:
geta = Python Get(a) = 1;
//:*/
b = i / 2
a = b ** 2
/*:
geta = Python Get(a) = 2.25;
//:*/
b = i / 2
a = b ** 2
/*:
geta = Python Get(a) = 4;
//:*/
// ....... and so on
Automatización y secuencias de comandosRe: Detener la escritura del código Python en el registro JMPPodrías probar la función de captura de registros().
a = "Goodbye";
b = log capture(
print("Hello World");
print(a);<BR />// Python commands here...
);
write(b);Re: Detener la escritura del código Python en el registro JMP¡Gracias! Me había olvidado de la captura de registros().
Re: Detener la escritura del código Python en el registro JMPEl índice de secuencias de comandos muestra el parámetro opcional echo (Verdadero | Falso).
Envío de Python (código, eco (Falso));
Desafortunadamente, este argumento opcional se ignora en 18.0 (y 18.0.1), por lo que la captura de registros es el camino a seguir en este punto.
Esto se solucionó a principios de este mes, pero no se incluyó en el código base para la próxima versión de mantenimiento 18.1. Ya habíamos superado la fecha límite de congelación de código para la versión 18.1. Se ha solucionado en nuestra pista de desarrollo principal. (JMP 19)
De manera similar, el complemento de este jmp.run_jsl() también tiene el argumento echo opcional agregado. (JMP 19)
jmp.run_jsl( '''código''', echo=Verdadero|Falso )
Re: Detener la escritura del código Python en el registro JMP
@Paul_Nelson escribió:
El índice de secuencias de comandos muestra el parámetro opcional echo (Verdadero | Falso).
Envío de Python (código, eco (Falso));
El parámetro echo no aparece en el índice de secuencias de comandos, ni en 18.0.1 ni en 17.2:

¿Está solo en Pro?
Re: Detener la escritura del código Python en el registro JMP
@Paul_Nelson escribió:
Desafortunadamente, este argumento opcional se ignora en 18.0 (y 18.0.1), por lo que la captura de registros es el camino a seguir en este punto.
Esto se solucionó a principios de este mes, pero no se incluyó en el código base para la próxima versión de mantenimiento 18.1. Ya habíamos superado la fecha límite de congelación de código para la versión 18.1. Se ha solucionado en nuestra pista de desarrollo principal. (JMP 19)
Hola @Paul_Nelson ,
Para JMP 19, ¿el parámetro de eco ofrecerá alguna granularidad sobre lo que se imprime en el registro? Por ejemplo, podría ser útil deshabilitar la impresión del código Python, pero aún así permitir que los mensajes de Python (de los comandos print(), por ejemplo, o errores de las bibliotecas) se impriman en el registro tal como se generan. Por el momento, el método Log Capture() siempre capturará todo.
¡Gracias!
Re: Detener la escritura del código Python en el registro JMPQuería probarlo antes de responder.
Sí, con el código actual y mis casos de prueba, la salida de la impresión de Python (valor) aún llega incluso si el código no se repite en el registro, al igual que el seguimiento de la pila: cuando ocurre un error en el código de Python. Con una excepción de error lanzada en Python, JSL devuelve un -1. std::disclaimer< este es un desarrollo previo al lanzamiento, aunque creo que está cerca de su forma final, no hay garantías. >. La idea de niveles de registro controlables es una característica interesante.
Re: Detener la escritura del código Python en el registro JMPEs posible que haya quedado documentado en la documentación de ayuda en línea o que haya sido un descuido involuntario. También es posible que se haya mencionado con Python Execute(). Si encuentra documentación de los argumentos opcionales echo(True | False), probablemente también verá otro parámetro opcional expandido ( True | False ). Ignora ese, se eliminó en 19.