首页 > 解决方案 > 从 Photoshop 发送的 Python 返回变量

问题描述

我可以将变量(例如文档名称)从 Photoshop 传递到 Python 脚本(尽管是通过批处理文件)

Photoshop 脚本 hello_world.jsx

var srcDoc = app.activeDocument; 
var batPath = "C:\\temp\\hello_world.bat"; 
$.setenv("DOC_NAME", docName);
File(batPath).execute();

hello_world.bat

@echo off
python D:\\LearnPython\\hello_world_photoshop.py %DOC_NAME%
pause 100

hello_world_photoshop.py

import sys
args = sys.argv[1:]
docName = " ".join(args)
results = "Photoshop document: " + docName
print (results)
# return results

如何将变量传递回 Photoshop - 例如结果?

是的,我意识到这个获取文档名称并将其运行到 Python 并再次返回的示例有点多余。

标签: pythonphotoshop-script

解决方案


将 hello_world_photoshop.py 的结果写入文件并在 photoshop 脚本中读取。

我真的不知道是否File(batPath).execute();等待执行结束。如果是这样,那么您可以在此行之后读取结果文件。如果它不等待,那么您可以将 javascript 的执行置于无限循环的暂停中并检查结果文件更新。


推荐阅读