Swift使用PythonKit调用Python

news/2024/7/20 21:03:53 标签: iOS

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

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

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

 

 

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

用法:

import PythonSupport

PythonSupport.initialize()

PythonKit是与Python交互的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

#!/usr/bin/python3
#coding=utf8

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

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


http://www.niftyadmin.cn/n/4985381.html

相关文章

【LeetCode题目详解】第八章 贪心算法 part06 738.单调递增的数字 968.监控二叉树 (day37补)

本文章代码以c为例&#xff01; 一、力扣第738题&#xff1a;单调递增的数字 题目&#xff1a; 当且仅当每个相邻位数上的数字 x 和 y 满足 x < y 时&#xff0c;我们称这个整数是单调递增的。 给定一个整数 n &#xff0c;返回 小于或等于 n 的最大数字&#xff0c;且数…

数据结构与算法基础-学习-30-插入排序之直接插入排序、二分插入排序、希尔排序

一、排序概念 将一组杂乱无章的数据按一定规律顺次排列起来。 将无序序列排成一个有序序列&#xff08;由小到大或由大到小&#xff09;的运算。 二、排序方法分类 1、按数据存储介质 名称描述内部排序数据量不大、数据在内存&#xff0c;无需内外交换存交换存储。外部排序…

成都优优聚:美团代运营趋势在哪儿?

美团代运营作为一种经营模式&#xff0c;在当今日益竞争激烈的市场中扮演着重要的角色。它为商家提供了全方位的服务&#xff0c;从市场推广到订单管理&#xff0c;从团购券的制作到售后服务&#xff0c;帮助商家解决了运营中的各种难题。 首先&#xff0c;美团代运营的核心优势…

深度学习论文分享(八)Learning Event-Driven Video Deblurring and Interpolation

深度学习论文分享&#xff08;八&#xff09;Learning Event-Driven Video Deblurring and Interpolation 前言Abstract1 Introduction2 Motivation2.1 Physical Model of Event-based Video Reconstruction2.2 Spatially Variant Triggering Threshold 3 Proposed Methods3.1 …

Python程序化交易接口批量获取数据源码

小编举例下面是一个简单的示例代码&#xff0c;展示如何使用Python的程序化交易接口批量获取数据&#xff0c;例如开发文档参考&#xff1a;MetaTradeAPI (metatradeapi) - Gitee.com 签名 int Init(); 功能 API 初始化 参数 无 返回值 授权成功的交易账户数量 返回值 &…

找到9个可以编辑的线框图模板资源,自取

大家好&#xff0c;我是设计师l1m0&#xff0c;最近找到了的9个还比较不错的线框图模板&#xff0c;想要分享给大家。顺便提一下这个免费的资源下载网站&#xff1a;Pixso资源社区。 相比成熟的设计师都知道线框图对产品设计来说扮演着什么角色&#xff0c;在这里不做过多赘述…

zookeeper 3.8.1安装和入门使用

1、zookeeper环境搭建&#xff08;Windows单机版&#xff09; 1.1、 前提 必须安装jdk 1.8&#xff0c;配置jdk环境变量&#xff0c;步骤略 1.2、安装zookeeper 地址&#xff1a;https://zookeeper.apache.org/ 1.2.1、选择releases版本 1.2.2、下载安装包并解压 1.2.3、配…

WebGL:基于web的交互式2D/3D图形引擎

推荐&#xff1a;使用 NSDT编辑器 快速搭建3D应用场景 在本指南中&#xff0c;我们旨在回答与WebGL技术相关的大多数问题。首先&#xff0c;让我们从WebGL定义开始。 什么是WebGL&#xff1f; WebGL&#xff08;Web图形库&#xff09;是一个JavaScript应用程序编程接口&#x…