我需要一种在Apple平台上从Swift调用Python代码的方法。图书馆是理想的。我已经完成了大量的Google搜索,我找到的最接近的材料是Objective-C。
答案 0 :(得分:7)
我找到了这个优秀且最新的要点,引导您完成一个完整的解决方案:https://github.com/ndevenish/Site-ndevenish/blob/master/_posts/2017-04-11-using-python-with-swift-3.markdown
如果你只是使用NSTask来启动Python进程,那也是一个不错的选择。
答案 1 :(得分:6)
如果有人有兴趣从swift调用python,我发现这里有一些有用的资料:
大部分是针对Objective-c,但是如果你需要使用swift,你可以很容易地创建一个ObjC-Swift桥(超级超级简单) - 查找苹果文档
答案 2 :(得分:5)
在Swift 4.2中,有一个批准的功能允许动态语言直接移植到swift
https://github.com/apple/swift-evolution/blob/master/proposals/0195-dynamic-member-lookup.md
看起来类似于:
// import pickle
let pickle = Python.import("pickle")
// file = open(filename)
let file = Python.open(filename)
// blob = file.read()
let blob = file.read()
// result = pickle.loads(blob)
let result = pickle.loads(blob)
答案 3 :(得分:0)
在Swift 5中,您可以尝试PythonKit框架。
以下是用法示例:
import PythonKit
let sys = try Python.import("sys")
print("Python \(sys.version_info.major).\(sys.version_info.minor)")
print("Python Version: \(sys.version)")
print("Python Encoding: \(sys.getdefaultencoding().upper())")