我有点奇怪的情况,我会尽力解释。
我使用Python启动photoshop并运行javascript文件。但我的目标是让python首先生成javascript,然后在photoshop中运行它。 为了做到这一点,我让python复制javascript文件,然后替换一行代码并运行这个新副本。
当我运行原始javascript文件时,它按预期工作,没有任何问题。
当我运行复制的javascript文件时,它按预期工作,没有任何问题。
当我运行已替换行的复制的javascript文件时,它会给我一个8800错误。
此时,即使我手动键入替换行以匹配原始javascript文件。我仍然会收到8800错误。
python以某种方式以不同的方式编写文件吗?
以下是我用来替换副本并替换javascript内容的代码:
from shutil import copyfile
jsx_file = r'E:\PS\_javascript_constructor_template.jsx'
jsx_file_new = r'E:\PS\_javascript_constructor_template_new.jsx'
copyfile(jsx_file, jsx_file_new)
with open(jsx_file_new, "r") as fin:
data = fin.read()
with open(jsx_file_new, "w") as fout:
fout.write(data.replace("!REPLACEME!",'"E:\PS\MockVar.csv"'))

有什么想法吗?
SIDE注意:我只是这样做因为我不知道如何将python中的参数传递给javascript文件我是子进程调用。
我更愿意向javascript文件发送一个参数而不是构建新文件。
答案 0 :(得分:0)
如果您更愿意向Photoshop脚本发送参数,我建议您使用进程间通信。您可以使用Python中的socket模块和Extendscript中的Socket对象来回发送消息。有关详细信息,请查看Adobe Tools Guide中的外部通讯工具。