从用Swift编写的现有项目中调用Python代码

时间:2015-08-10 19:30:42

标签: python swift

我需要一种在Apple平台上从Swift调用Python代码的方法。图书馆是理想的。我已经完成了大量的Google搜索,我找到的最接近的材料是Objective-C。

4 个答案:

答案 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())")