Arrêtez l'écriture du code Python dans le journal JMPExiste-t-il un moyen d'empêcher JMP d'imprimer une copie du code soumis à Python dans le journal ?
Il semble qu'à chaque fois que je cours
Python Submit( code )
Je reçois une copie du code dans le journal.
Ne serait-ce qu'une seule exécution, ce n'est pas grave, mais si vous exécutez un petit morceau de python plusieurs fois, cela encombre le journal, ce qui rend les vrais messages plus difficiles à trouver. Cela a-t-il également un impact sur les performances en raison de l'écriture à l'écran ?
J'utilise JMP 18.0.1.
Exemple simple :
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 ) );
);
Donne ce qui suit :
/*:
//:*/
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
Automatisation et scriptsRe : Arrêter l'écriture du code Python dans le journal JMPVous pouvez essayer la fonction log capture().
a = "Goodbye";
b = log capture(
print("Hello World");
print(a);<BR />// Python commands here...
);
write(b);Re : Arrêter l'écriture du code Python dans le journal JMPMerci! J'avais oublié la capture du journal ().
Re : Arrêter l'écriture du code Python dans le journal JMPL'index de script affiche le paramètre facultatif echo(True | False).
Python Soumettre( code, echo(False) );
Malheureusement, cet argument facultatif est ignoré dans 18.0 ( et 18.0.1 ), donc la capture du journal est la voie à suivre à ce stade.
Ce problème a été corrigé plus tôt ce mois-ci, mais n'a pas été intégré dans la base de code de la prochaine version de maintenance 18.1. Nous avions déjà dépassé la date limite de gel du code pour la version 18.1. Cela a été corrigé dans notre piste de développement principale. (JMP19)
De même, le compagnon de ce jmp.run_jsl() a également ajouté l'argument echo facultatif. (JMP19)
jmp.run_jsl( '''code''', echo=True|False )
Re : Arrêter l'écriture du code Python dans le journal JMP
@Paul_Nelson a écrit :
L'index de script affiche le paramètre facultatif echo(True | False).
Python Soumettre( code, echo(False) );
Le paramètre echo n'apparaît pas dans l'index de script pour moi, ni dans 18.0.1 ni dans 17.2 :

C'est en Pro uniquement ?
Re : Arrêter l'écriture du code Python dans le journal JMP
@Paul_Nelson a écrit :
Malheureusement, cet argument facultatif est ignoré dans 18.0 ( et 18.0.1 ), donc la capture du journal est la voie à suivre à ce stade.
Ce problème a été corrigé plus tôt ce mois-ci, mais n'a pas été inclus dans la base de code de la prochaine version de maintenance 18.1. Nous avions déjà dépassé la date limite de gel du code pour la version 18.1. Cela a été corrigé dans notre piste de développement principale. (JMP19)
Salut @Paul_Nelson ,
Pour JMP 19, le paramètre echo offrira-t-il une granularité sur ce qui est imprimé dans le journal ? Par exemple, il pourrait être utile de désactiver l'impression du code python, tout en permettant aux messages de Python (des commandes print() par exemple, ou des erreurs des bibliothèques) d'être imprimés dans le journal tels qu'ils sont générés. Pour le moment, la méthode Log Capture() capturera toujours tout.
Merci!
Re : Arrêter l'écriture du code Python dans le journal JMPJe voulais le tester avant de répondre.
Oui, avec le code actuel et mes cas de test, la sortie de Python print( value ) est toujours visible même si le code ne fait pas écho dans le journal, tout comme le stack Traceback : lorsqu'une erreur se produit dans le code Python. Avec une exception d'erreur levée en Python, le JSL renvoie un -1. std::disclaimer< il s'agit d'un développement préliminaire, même si je pense qu'il est proche de la forme finale, aucune garantie. >. L'idée de niveaux de journalisation contrôlables est une idée de fonctionnalité intéressante.
Re : Arrêter l'écriture du code Python dans le journal JMPIl se peut que cela ait été documenté dans la documentation d'aide en ligne ou qu'il s'agisse d'un oubli involontaire. Cela a peut-être également été mentionné avec Python Execute(). Si vous parcourez la documentation des arguments facultatifs echo(True | False), vous verrez probablement également un autre paramètre facultatif se développer ( True | False ). Ignorez celui-là, il a été supprimé en 19.