Вызовите код Python из существующего проекта, написанного в Swift

Мне нужен способ вызвать код Python из Swift на платформе Apple. Библиотека была бы идеальной. Я выполнил значительный поиск в Google, и самый близкий материал, который я нашел, для Objective-C.

Ответ 1

Если кто-нибудь когда-либо заинтересован в вызове python из swift, вот какой полезный материал я нашел:

Большая часть из них предназначена для Objective-c, но если вам нужно использовать swift, вы можете просто создать мост ObjC-Swift (супер супер супер) - найти яблочные документы

Ответ 3

В 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)

Ответ 4

В Swift 5 вы можете попробовать PythonKit Framework.

Вот пример использования:

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