将 python 脚本的结果传递给 ExtendScript `.jsx` 文件
Passing the result of a python script to an ExtendScript `.jsx` file
所以,我正在编写一个 python 脚本,它从 google sheet 获取数据,然后 return 将其返回到我正在使用的 ExtendScript 脚本为 After Effects 写作。
相关位是:
getSpreadsheetData.py
def main():
values = getSpreadsheetRange("1M337m3YHCdCDcVyS4fITvAGJsw7rGQ2XGbZaKIdkJPc", "A1:Q41")
return processValues(values)
afterEffectsScript.jsx
var script_file = File("getSpreadsheetData.py");
var results = script_file.execute();
$.writeln(results);
alert("done!");
所以,我有三个问题:
如何将变量从 afterEffectsScript.jsx
传递到 python 脚本(例如传播sheet id 和范围)?
如何从 python 脚本中获取 return 并将其 return 返回到 jsx
文件?
如何让我的 afterEffectsScript
异步工作,以便它可以等待 python 脚本获得它需要的东西...
在此先感谢您的建议!
-P
您可以通过设置环境变量来传递变量。
小示例如何使用 extendscript 中的参数调用外部脚本:
var script_file = File("getSpreadsheetData.py");
$.setenv("arg_1", "arg1_value");
$.setenv("arg_2", "arg2_value");
script_file.execute();
您 python 脚本应该从从环境中读取此变量开始:Access environment variables from Python
After Effects 可以调用系统命令并获得 stdout
的结果。
var cmd = "pwd";
var stdout = system.callSystem(cmd);
$.writeln(stdout);
所以,我正在编写一个 python 脚本,它从 google sheet 获取数据,然后 return 将其返回到我正在使用的 ExtendScript 脚本为 After Effects 写作。
相关位是:
getSpreadsheetData.py
def main():
values = getSpreadsheetRange("1M337m3YHCdCDcVyS4fITvAGJsw7rGQ2XGbZaKIdkJPc", "A1:Q41")
return processValues(values)
afterEffectsScript.jsx
var script_file = File("getSpreadsheetData.py");
var results = script_file.execute();
$.writeln(results);
alert("done!");
所以,我有三个问题:
如何将变量从
afterEffectsScript.jsx
传递到 python 脚本(例如传播sheet id 和范围)?如何从 python 脚本中获取 return 并将其 return 返回到
jsx
文件?如何让我的
afterEffectsScript
异步工作,以便它可以等待 python 脚本获得它需要的东西...
在此先感谢您的建议!
-P
您可以通过设置环境变量来传递变量。 小示例如何使用 extendscript 中的参数调用外部脚本:
var script_file = File("getSpreadsheetData.py");
$.setenv("arg_1", "arg1_value");
$.setenv("arg_2", "arg2_value");
script_file.execute();
您 python 脚本应该从从环境中读取此变量开始:Access environment variables from Python
After Effects 可以调用系统命令并获得 stdout
的结果。
var cmd = "pwd";
var stdout = system.callSystem(cmd);
$.writeln(stdout);