Mam skrypt Pythona, który należy wywołać z poziomu skryptu Extendscript. Czy jest dostępna jakaś funkcja biblioteczna, która może to zrobić? Próbowałem znaleźć rozwiązanie w dokumentacji i wielu innych zasobach online, ale jak dotąd nic nie zadziałało. Każda pomoc jest doceniana.Jak wywołać skrypt Pythona lub powłoki z poziomu Extendscript?
7
A
Odpowiedz
3
Spójrz na this example.
Tworzy plik .term obok pliku skryptu i wykonuje go.
To jest czyszczony wersja:
main();
function main() {
var script_file = File($.fileName); // get the full path of the script
var script_folder = script_file.path; // get the path from that
var new_termfile = createTermFile("execute_something", script_folder);
new_termfile.execute(); // now execute the termfile
}
/**
* creates a .term file
* @param {String} term_file_name --> the name for the .term file
* @param {Strin} path --> the path to the script file
* @return {File} the created termfile
*/
function createTermFile(term_file_name, path) {
/*
http://docstore.mik.ua/orelly/unix3/mac/ch01_03.htm
1.3.1.1. .term files
You can launch a customized Terminal window from the command line by saving some prototypical Terminal settings to a .term file,
then using the open command to launch the .term file (see "open" in Section 1.5.4, later in this chapter).
You should save the .term file someplace where you can find it later, such as ~/bin or ~/Documents.
If you save it in ~/Library/Application Support/Terminal, the .term file will show up in Terminal's File Library menu.
To create a .term file, open a new Terminal window, and then open the Inspector (File Show Info, or -I)
and set the desired attributes, such as window size, fonts, and colors. When the Terminal's attributes
have been set, save the Terminal session (File Save, or -S) to a .term file (for example, ~/Documents/proto.term).
Now, any time you want to launch a Terminal window from the command line, you can issue the following command:
*/
var termfile = new File(path + "/" + term_file_name + ".term");
termfile.open("w");
termfile.writeln(
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +
"<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\"" +
"\"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n" +
"<plist version=\"1.0\">\n" +
"<dict>\n" +
"<key>WindowSettings</key>\n" +
"<array>\n" +
" <dict>\n" +
"<key>CustomTitle</key>\n" +
"<string>My first termfile</string>\n" +
"<key>ExecutionString</key>\n" +
"<string>python\nprint \"Hello World\"\nexit()</string>\n" +
"</dict>\n" +
"</array>\n" +
"</dict>\n" +
"</plist>\n");
termfile.close();
return termfile;
};
4
obiekty ExtendScript pliku mają metodę execute(), jak już pokazano Fabian. Nie wiedziałem o plikach .term i zamiast tego użyłem pliku .command, to raczej zwykły skrypt niż XML.
Jeśli uruchomiony w ciągu InDesign, można ominąć Terminal.app i używać AppleScript:
myScript = 'do shell script "diff f1 f2 > o" ';
app.doScript(myScript, ScriptLanguage.applescriptLanguage);
Powiązane problemy
- 1. Jak wywołać skrypt Pythona na excel vba?
- 2. Jak wywołać skrypt SQL z poziomu innego skryptu SQL?
- 3. jak wywołać skrypt Pythona z R z argumentami
- 4. Jak wywołać skrypt Pythona wewnątrz pliku jar przy użyciu Pythona?
- 5. Jak mogę wywołać 'git pull' z poziomu Pythona?
- 6. Jak wywołać skrypt powłoki i przekazać argument z innego skryptu powłoki
- 7. Dane wejściowe z poziomu skryptu powłoki
- 8. Ponownie uruchom skrypt Pythona z poziomu samego siebie.
- 9. Wartość zwracana z sql skrypt powłoki skrypt
- 10. Jak uruchomić skrypt wsadowy z poziomu skryptu wsadowego?
- 11. Czy można wywołać skrypty bash lub powłoki z programu haskell?
- 12. Jak rozpowszechniać mój skrypt Python/powłoki?
- 13. Jak uzyskać skrypt Pythona, aby wywołać "python -i", gdy jest wywoływany normalnie?
- 14. Skrypt powłoki z plikiem JAR na końcu
- 15. Używanie IPython z powłoki Pythona, jak `code.interact()`
- 16. Wykonać polecenie powłoki z poziomu klienta MySQL?
- 17. Jak mogę wywołać erlang z Pythona?
- 18. Jak mogę wywołać kod Pythona z Ruby?
- 19. Skrypt powłoki nie działa z nohupem
- 20. Skrypt powłoki wywołuje funkcję ze zmienną?
- 21. Aby wywołać skrypt PowerShell (example.ps1) z C#
- 22. Czy można przyspieszyć ten skrypt powłoki?
- 23. Skrypt powłoki - zamykanie skryptu, jeśli zmienna jest pusta lub pusta
- 24. Jak wykonać skrypt powłoki uniksowej z systemu Windows
- 25. Jak uzyskać kodowanie terminala z poziomu skryptu Pythona?
- 26. Jak uruchomić "Instalację python setup.py" z poziomu Pythona?
- 27. Uruchom skrypt powłoki z Java Synchronously
- 28. Jak uruchomić skrypt powłoki jako root (sudo)?
- 29. Jak wywołać listę Pythona podczas debugowania?
- 30. Obsługa kodu wyjścia zwracanego przez pythona w skrypcie powłoki
Tak plik .command jest sposób chłodniej niż pełnego pliku .term! (Nie znał ich) Jedyną rzeczą, którą musisz zrobić, aby był wykonywalny. Plik .term zostanie natychmiast wykonany – fabianmoronzirfas