【发布时间】:2018-03-04 16:37:06
【问题描述】:
我正在编写一个扩展脚本代码(Adobe After Effects - 但它基本上只是 javascript),它需要在服务器上迭代数以万计的文件名。这在扩展脚本中非常慢,但我可以在几秒钟内使用 python 完成我需要做的事情,无论如何这是我的首选语言。所以我想运行一个python文件并将一个数组返回到extendscript。我可以通过创建和执行批处理文件来运行我的python文件并传递一个参数(根文件夹),但是如何将结果(一个数组)传递回extendscript?我想我可以写出一个 .csv 并将其读回,但这似乎有点“hacky”。
【问题讨论】:
-
你可以做到。我不记得怎么做的,但请阅读文档。 Extendscript 有一些 JS 没有的特性。具体指令等。
-
我在 JavaScript 工具指南中搜索了一下,我想出的只是 .execute() 方法,它将运行批处理文件,但我不知道如何取回数组进入AE。有什么具体的想法吗?
-
来自 JS 工具指南关于:fileObj.execute() 方法“如果应用程序启动成功,则立即返回 true。”所以我不能从中返回任何东西......
-
让 Python 将“完成”写入文件。然后使用 Javascript 计时器循环检查文件,直到完成,并在完成时运行回调。这样的事情似乎是你最好的选择。您还可以导入支持承诺和/或延迟对象的第 3 方 JS 库。这就是我要做的。
-
@user1167442 如果您好奇,请查看下面 ariestav 的答案 - 这正是我所需要的!
标签: python batch-file extendscript