pipline+standard
func runPythonScript(_ inputText: String) {
let process = Process()
process.executableURL = URL(fileURLWithPath: "/opt/anaconda3/envs/t5/bin/python") // 修改为 Anaconda Python 的路径
process.arguments = ["/Users/helinyu/workspace/GitHub/test_ai/test_trans.py"]
let inputPipe = Pipe()
let outputPipe = Pipe()
// 将输入文本传递给 Python 脚本
inputPipe.fileHandleForWriting.write(Data(inputText.utf8))
inputPipe.fileHandleForWriting.closeFile()
process.standardInput = inputPipe
process.standardOutput = outputPipe
do {
try process.run()
// 等待脚本执行完毕
process.waitUntilExit()
let data = outputPipe.fileHandleForReading.readDataToEndOfFile()
if let output = String(data: data, encoding: .utf8) {
translatedText = output
}
} catch {
print("Error running Python script: \(error)")
}
}注意执行文件的路径要绝对路径。
Last updated