Stoppen Sie das Schreiben von Python-Code in das JMP-ProtokollGibt es eine Möglichkeit, JMP daran zu hindern, eine Kopie des an Python gesendeten Codes in das Protokoll zu druckt?
Es scheint, dass jedes Mal, wenn ich renne
Python Submit( code )
Ich erhalte eine Kopie des Codes im Protokoll.
Wenn es nur einmal ausgeführt wird, ist es keine große Sache, aber wenn ein kleiner Teil von Python mehrmals ausgeführt wird, wird das Protokoll überfüllt, sodass echte Nachrichten schwerer zu finden sind. Hat es auch Auswirkungen auf die Leistung, weil auf den Bildschirm geschrieben wird?
Ich verwende JMP 18.0.1.
Einfaches Beispiel:
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 ) );
);
Ergibt folgendes:
/*:
//:*/
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
Automatisierung und SkriptingBetreff: Stoppen Sie das Schreiben von Python-Code in das JMP-ProtokollSie könnten die Funktion „log capture()“ ausprobieren.
a = "Goodbye";
b = log capture(
print("Hello World");
print(a);<BR />// Python commands here...
);
write(b);Betreff: Stoppen Sie das Schreiben von Python-Code in das JMP-ProtokollDanke! Ich hatte Log Capture() vergessen.
Betreff: Stoppen Sie das Schreiben von Python-Code in das JMP-ProtokollDer Skriptindex zeigt den optionalen Parameter echo(True | False).
Python Submit(Code, Echo(Falsch));
Leider wird dieses optionale Argument in 18.0 (und 18.0.1) ignoriert, sodass an dieser Stelle die Protokollerfassung der richtige Weg ist.
Dies wurde Anfang des Monats behoben, hat es aber nicht in die Codebasis für das kommende Wartungsrelease 18.1 geschafft. Wir hatten die Code-Freeze-Frist für 18.1 bereits überschritten. Es wurde in unserem Hauptentwicklungstrack behoben. (JMP 19)
In ähnlicher Weise wurde dem Pendant hierzu jmp.run_jsl() das optionale Echo-Argument hinzugefügt. (JMP 19)
jmp.run_jsl( '''Code''', echo=Wahr|Falsch )
Betreff: Stoppen Sie das Schreiben von Python-Code in das JMP-Protokoll
@Paul_Nelson schrieb:
Der Skriptindex zeigt den optionalen Parameter echo(True | False).
Python Submit(Code, Echo(Falsch));
Der Echo-Parameter erscheint bei mir weder in 18.0.1 noch in 17.2 im Skriptindex:

Gibt es das nur in der Pro-Version?
Betreff: Stoppen Sie das Schreiben von Python-Code in das JMP-Protokoll
@Paul_Nelson schrieb:
Leider wird dieses optionale Argument in 18.0 (und 18.0.1) ignoriert, sodass an dieser Stelle die Protokollerfassung der richtige Weg ist.
Dies wurde Anfang des Monats behoben, hat es aber nicht in die Codebasis für das kommende Wartungsrelease 18.1 geschafft. Wir hatten die Code-Freeze-Frist für 18.1 bereits überschritten. Es wurde in unserem Hauptentwicklungstrack behoben. (JMP 19)
Hallo @Paul_Nelson ,
Bietet der Echo-Parameter für JMP 19 eine Granularität hinsichtlich dessen, was in das Protokoll gedruckt wird? Beispielsweise könnte es sinnvoll sein, das Drucken des Python-Codes zu deaktivieren, aber dennoch zuzulassen, dass Nachrichten von Python (z. B. von print()-Befehlen oder Fehlern aus Bibliotheken) so in das Protokoll gedruckt werden, wie sie generiert werden. Derzeit erfasst die Methode Log Capture() immer alles.
Danke!
Betreff: Stoppen Sie das Schreiben von Python-Code in das JMP-ProtokollIch wollte es testen, bevor ich antworte.
Ja, mit dem aktuellen Code und meinen Testfällen kommt die Ausgabe von Python print( value ) immer noch durch, auch wenn der Code nicht ins Protokoll zurückgemeldet wird, ebenso wie der Stack-Traceback: wenn im Python-Code ein Fehler auftritt. Bei einer in Python ausgelösten Fehlerausnahme gibt die JSL eine -1 zurück. std::disclaimer< dies ist eine Vorabentwicklung, obwohl ich glaube, dass dies der endgültigen Form nahe kommt, keine Garantien. >. Die Idee steuerbarer Protokollierungsebenen ist eine interessante Funktionsidee.
Betreff: Stoppen Sie das Schreiben von Python-Code in das JMP-ProtokollMöglicherweise war es in der Online-Hilfedokumentation dokumentiert oder es war ein unbeabsichtigtes Versehen. Es könnte auch mit Python Execute() erwähnt worden sein. Wenn Sie auf die Dokumentation der optionalen Argumente echo(True | False) stoßen, werden Sie wahrscheinlich auch einen weiteren optionalen Parameter expand ( True | False ) sehen. Ignorieren Sie diesen, er wurde in 19 entfernt.