首页 > 解决方案 > 如何从 Photoshop 脚本运行 Python 脚本?

问题描述

是否可以从 Photoshop 脚本运行 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\to\python.exe" "c:\path\to\hello_world.py"
pause 100

但是,可以直接做吗?或者这是尽可能接近?

标签: javascriptpythonpython-3.xphotoshopphotoshop-script

解决方案


使用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!\n")
file.write("PS version: " + str(sys.argv[1]))
file.close()

py.log的结果:

Hello from Photoshop!
PS version: 20.0.10

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


推荐阅读