2017-03-17 39 views
2

因此,我正在編寫一個python腳本,它從google工作表中獲取數據並將其返回給我爲After Effects編寫的ExtendScript腳本。將python腳本的結果傳遞給ExtendScript`.jsx`文件

相關的位是:

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!"); 

所以,我有三個問題:

  1. 如何將變量從afterEffectsScript.jsx傳遞給python腳本(例如電子表格ID和範圍)?

  2. 如何從python腳本返回並將其返回給jsx文件?

  3. 如何讓我的afterEffectsScript到異步,以便它可以等待python腳本來獲得它所需要的工作...

在此先感謝您的意見!

-P

回答

1

After Effects中必須調用系統命令,並得到的結果的可能性:

var script_file = File("getSpreadsheetData.py"); 
$.setenv("arg_1", "arg1_value"); 
$.setenv("arg_2", "arg2_value"); 
script_file.execute(); 

您的Python腳本應該閱讀本開始從環境可變因素stdout

var cmd = "pwd"; 
var stdout = system.callSystem(cmd); 
$.writeln(stdout); 

看看到AE Scripting Guide

1

您可以通過設置環境變量的傳遞變量。 小例子,如何從extendscript調用帶有ARGS外部腳本:Access environment variables from Python

+0

啊哈,這聽起來像一個解決方案,分#1和#2!當環境變量改變值來回答第3點時,有沒有一種方法可以聽取?我假設我會從python操作一個環境變量並從ExtendScript中訪問它,而不像我在這裏所做的那樣使用'results'變量? – PookageHayes

+0

其他問題在這裏討論 http://stackoverflow.com/questions/18969372/execute-external-script-in-extendscript-for-illustrator – emax

相關問題