Я пытаюсь открыть терминал с Swift и запустить скрипт python. Я нашел эту функцию, чтобы сделать так:Открытый (интерактивный) терминал с Swift
(Get terminal output after a command swift)
func runCommand(cmd : String, args : String...) -> (output: [String], error: [String], exitCode: Int32) {
var output : [String] = []
var error : [String] = []
let task = NSTask()
task.launchPath = cmd
task.arguments = args
let outpipe = NSPipe()
task.standardOutput = outpipe
let errpipe = NSPipe()
task.standardError = errpipe
task.launch()
let outdata = outpipe.fileHandleForReading.readDataToEndOfFile()
if var string = String.fromCString(UnsafePointer(outdata.bytes)) {
string = string.stringByTrimmingCharactersInSet(NSCharacterSet.newlineCharacterSet())
output = string.componentsSeparatedByString("\n")
}
let errdata = errpipe.fileHandleForReading.readDataToEndOfFile()
if var string = String.fromCString(UnsafePointer(errdata.bytes)) {
string = string.stringByTrimmingCharactersInSet(NSCharacterSet.newlineCharacterSet())
error = string.componentsSeparatedByString("\n")
}
task.waitUntilExit()
let status = task.terminationStatus
return (output, error, status)
}
Я вызываю функцию, как это написано в вопросе:
let output = runCommand("/usr/bin" , args: "python " + folderPath + selecteditem)
печати арг является: «питон /Users/michael/Documents/Python/testestest.py "
Что такое, если я вставляю его в терминал, действительную команду.
Но Xcode говорит мне: Не удалось posix_spawn: ошибка 13
Что бы вы посоветовали мне делать? Я не уверен, что нет простого способа запустить видимую консоль, на которой запущена команда. Еще одна проблема, о которой я думаю, заключается в том, что было бы здорово иметь выход в режиме реального времени в xcode (что означает увидеть результат, пока скрипт python все еще запущен), возможно ли это?
благодаря