将变量从 Photoshop 传递到 Python

Posted

技术标签:

【中文标题】将变量从 Photoshop 传递到 Python【英文标题】:Pass variable from Photoshop to Python 【发布时间】:2021-11-18 22:35:07 【问题描述】:

我可以通过批处理文件:

Photoshop 脚本 talk_to_python.jsx

// path of the bat file to execute
var batPath = "D:\\some_path\\some_folder\\talk_to_python.bat"; 

// create a string
var myStr = "Wiggle, wiggle, wiggle wiggle, yeah!";

// This is were we set the environment variable
$.setenv("MY_STR", myStr);

// and we now execute the bat file
File(batPath).execute(); 

临时批处理文件 talk_to_python.bat

@ECHO OFF
python D:\\some_path\\some_folder\\talk_to_python.py %MY_STR%
REM ECHO %MY_STR%
TIMEOUT /t 8

Python talk_to_python.py

import sys
args = sys.argv[1:]
if len(args) != 0:
  s = " ".join(args)

  # print the original string
  print (s)

结果是

摆动,摆动,摆动摆动,是的!

我的问题是:这是否可以在没有临时批处理文件的情况下完成,并将变量直接从 Photoshop ECMAscript 传递到 Python 并仍然执行脚本? (在 Windows 机器上)

【问题讨论】:

【参考方案1】:

是的 - 使用 app.system 这样您就可以跳过 bat 文件。

请参阅here 了解更多信息。

【讨论】:

以上是关于将变量从 Photoshop 传递到 Python的主要内容,如果未能解决你的问题,请参考以下文章