Swift使用PythonKit调用Python

打开Xcode项目。然后选择"File→Add Packages",然后输入软件包依赖链接:

https://github.com/pvieito/PythonKit.git

https://github.com/kewlbear/Python-iOS.git

Python-iOS包允许在iOS应用程序中使用python模块。

用法:

Swift 复制代码
import PythonSupport

PythonSupport.initialize()

PythonKit是与Python交互的Swift框架。

用法:

Swift 复制代码
import PythonKit

let sys = Python.import("sys")

print("Python \(sys.version_info.major).\(sys.version_info.minor)")
print("Python Version: \(sys.version)")
print("Python Encoding: \(sys.getdefaultencoding().upper())")

调用示例

test.py

python 复制代码
#!/usr/bin/python3
#coding=utf8

def hello():
    print('hello world')
    return 'hello'

swift:

Swift 复制代码
import PythonKit
import PythonSupport

class PythonManager {
    func initManager() {
        //初始化
        PythonSupport.initialize()

        //导入sys模块
        let sys = Python.import("sys")
        print("Python \(sys.version_info.major).\(sys.version_info.minor)")
        print("Python Version: \(sys.version)")
        print("Python Encoding: \(sys.getdefaultencoding().upper())")
        print("Python Path: \(sys.path)")

        //运行python脚本
        PythonSupport.runSimpleString("print('hello')")

        //运行test.py文件
        let python = Python.import("test")
        let result = python.hello()
        print(result)
    }
}
相关推荐
终端安全笔记9 小时前
iOS 27 给了租赁一个新工具,但它只认受监督的设备
android·网络·安全·ios
大熊猫侯佩10 小时前
独立 App 首发完成 iPhone Duo 展开态适配
ios·swiftui·swift
光影少年10 小时前
setImmediate 和 setTimeout(0) 的区别
android·前端·react.js·ios·前端框架
2501_9160088911 小时前
SSE 和 gRPC 流式接口如何抓包,调试 SSE 与 gRPC 流式接口
网络协议·计算机网络·网络安全·ios·adb·https·udp
HouWan1 天前
Flutter: MediaQuery.of(context) 为什么可能拖慢页面?
android·flutter·ios
用户38034165882971 天前
Broadcast Extension 里的 Live Activity:一次跨进程妥协
ios·音视频开发
匠测AI说1 天前
XCUITest 自动化全解:同进程白盒、XCTest 架构、自动同步机制与 iOS 端选型指南
测试工具·ios·自动化
silianpan1 天前
CAD 文档预览 UTS 插件
android·ios·harmonyos
世纪末の魔术师1 天前
从 Healthory 到 Nature Aimanic:两款 iOS App 审核实战后,我总结了这份过审清单
ios·ios过审·苹果过审·ios应用过审