如何从Photoshop脚本运行Python脚本?

是否可以从Photoshop脚本运行Run a Python脚本?例如:我有两个文件:my_Photoshop script.jsx,它将从Photoshop运行。以及秒(Python)my_python_script.py,它由第一个脚本通过Photoshop调用。

my_Photoshop script.jsx

// Call external file from Photoshop
call my_python_script.py; //pseudo code

my_python_script.py

# Python script
print ("Hello from Photoshop!")

我知道可以通过批处理文件执行类似的操作...

my_Photoshop script.jsx

// Call the external batch files
var myBat = new File("D:\temp\my_batch_file.bat");
alert(myBat);
myBat.execute();

My_Batch_File.bat

echo Python...
"C:path	opython.exe" "c:path	ohello_world.py"
pause 100

然而,它可以直接完成吗?或者这就是它将得到的最接近的结果?


解决方案

使用app.system

my_script.jsx

app.system('python "D:/path/to/my_py.py" ' + app.version)

my_py.py:

import sys
file = open("D:/path/to/py.log", "w")
file.write("Hello from Photoshop!
")
file.write("PS version: " + str(sys.argv[1]))
file.close()

py.log结果:

Hello from Photoshop!
PS version: 20.0.10

附注:请注意,File.execute()使用默认应用程序打开文件。如果用户将.bat文件与文本编辑器关联,则运行myBat.execute()将在文本编辑器中打开该文件。

相关文章