Ausgabe
Ist es möglich, ein Python-Skript von einem Photoshop-Skript aus auszuführen? Beispiel: Ich habe zwei Dateien: my_photoshop script.jsx, die von Photoshop ausgeführt werden. Und die Sekunde (python) my_python_script.py, die mit Photoshop vom ersten Skript aufgerufen wird.
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!")
Ich weiß, dass es möglich ist, etwas Ähnliches über eine Batch-Datei zu tun …
my_photoshop script.jsx
// Call the external batch files
var myBat = new File("D:\\temp\\my_batch_file.bat");
alert(myBat);
myBat.execute();
meine_batch_datei.bat
echo Python...
"C:\path\to\python.exe" "c:\path\to\hello_world.py"
pause 100
Aber kann es direkt gemacht werden? Oder ist das so nah wie es geht?
Lösung
Verwendung app.system
:
mein_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()
Ergebnis von py.log :
Hello from Photoshop!
PS version: 20.0.10
ps beachten, dass File.execute()
die Datei mit einer Standard-App geöffnet wird. Wenn ein Benutzer .bat
Dateien mit einem Texteditor verknüpft hat, myBat.execute()
wird beim Ausführen die Datei im Texteditor geöffnet.
Beantwortet von – Sergey Kritskiy
Antwort geprüft von – Candace Johnson (FixError Volunteer)