Можно использовать subprocess.Popen
. Существует несколько способов сделать это:
import subprocess
cmd = ['/run/myscript', '--arg', 'value']
p = subprocess.Popen(cmd, stdout=subprocess.PIPE)
for line in p.stdout:
print line
p.wait()
print p.returncode
Или, если Вы не заботитесь о том, что на самом деле делает внешняя программа:
cmd = ['/run/myscript', '--arg', 'value']
subprocess.Popen(cmd).wait()
На самом деле это немного сложно. Вам нужно будет создать собственный NSTextAttachment
для каждого «токена» и вставить его в NSTextStorage
для своего NSTextView
.
Существует отличный пост Дэвида Синклера из Dejal Systems , в котором объясняется, как это сделать.