Могу ли я повторно использовать экземпляр PythonInterpreter — возможно, через объект PyCode?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Могу ли я повторно использовать экземпляр PythonInterpreter — возможно, через объект PyCode?

Сообщение Anonymous »

У меня есть скрипт, который я загружаю через:

Код: Выделить всё

python = new PythonInterpreter();
String script = "script I loaded from somewhere"

try {
python.exec(script);
} catch (Exception e) {
AtiWarning.msg(host, "eaPY", "Error parsing script: " + e, e);
}
Кажется, это «компилирует» сценарий.
Сценарий содержит функцию, которую я затем вызываю много раз для данного хоста через:

Код: Выделить всё

try {
python.set("host", host);
python.set("tableName", tableName);
python.set("state", order);
python.set("index", index);
python.set("values", values);

python.exec("row(host, tableName, state, index, values)");

} catch (Exception e) {
AtiWarning.msg(host, "eaPY", "Error in row: " + e, e);
}
Весь этот процесс можно повторить для других хостов. Возможно, потребуется одновременное выполнение сценария нескольким хостам.
После первого exec(script) есть ли способ сохранить какой-либо объект (например, PyCode?), чтобы при появлении другого хоста мне не приходилось снова вызывать exec(script)?
Из-за параллелизма я не могу просто удерживать экземпляр PythonInterpreter и используйте его повторно. Я хотел бы создать новый экземпляр PythonInterpeter и передать ему некоторый объект, а не снова анализировать сценарий.

Подробнее здесь: https://stackoverflow.com/questions/798 ... ode-object
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»