Итак, я пишу программу, которая создает Input для другой программы, а затем будет что-то делать с Output, который создает другая программа.
Теперь я хочу использовать Popen, чтобы открыть эту программу и запустить скрипт с этой программой. У меня уже есть версия, которая работает на Windows, но я хочу выполнить это также на Mac, и там начинается проблема.
На Mac он только запускает терминал с нужной программой, но больше ничего не делает. Там нет сообщения об ошибке, и я не знаю, что мне нужно изменить в моей команде, поэтому она действительно что-то делает, а не просто открывает терминал с программой и игнорирует мой скрипт.
# This function calls polymake to execute a script with two input parameters
console_object = subprocess.Popen(['/Applications/polymake.app/Contents/MacOS/polymake', '--script', script_filename, vertex_filename, poly_filename], stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
stdout, stderr = console_object.communicate()
if stderr != None:
print(stderr)
raise SystemExit(1) # One should not do this in a function
if stdout != None:
string = str(stdout).replace('\\n', '\n')[1:]
if equalities:
string = string.replace(">=", "=")
print(string)
if equalities:
file = open(console_filename, 'a')
else:
file = open(console_filename, 'w')
file.write(string[1:-1])
file.close()
print("\nThis output was written into %s" % console_filename)