Photoshop 8800仅在python创建文件后出错

时间:2017-09-22 01:23:29

标签: javascript python subprocess photoshop shutil

我有点奇怪的情况,我会尽力解释。

我使用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文件发送一个参数而不是构建新文件。

1 个答案:

答案 0 :(得分:0)

如果您更愿意向Photoshop脚本发送参数,我建议您使用进程间通信。您可以使用Python中的socket模块和Extendscript中的Socket对象来回发送消息。有关详细信息,请查看Adobe Tools Guide中的外部通讯工具。