ios python_Python在iOS中的运用示例

iOS如何使用Python步骤

#include “Python.h"

(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

//init python

//get python lib path and set this path as python home directory

NSString* fullpath = [[NSBundle mainBundle] pathForResource:@"python" ofType:nil inDirectory:nil];

char home[1024];

NSLog(@"%@",fullpath);

strcpy(home, [fullpath UTF8String]);

Py_SetPythonHome(home);

Py_Initialize();

//执行python语句

PyRun_SimpleString("print 'hello'");//say hello see debug output :)

PyRun_SimpleString("print 'cathy'");//say hello see debug output :)

dispatch_queue_t queue = dispatch_queue_create(0, DISPATCH_QUEUE_CONCURRENT);

dispatch_async(queue, ^{

//执行python脚本

NSString *scriptPath = [[NSBundle mainBundle] pathForResource:@"python"    ofType:@“py"];

//从文件中读取要执行的代码

FILE *mainFile = fopen([scriptPath UTF8String], "r");

PyRun_SimpleFile(mainFile, (char *)[[scriptPath lastPathComponent] UTF8String]) ;

});

return YES;

}

标注1:

NSString *scriptPath = [[NSBundle mainBundle] pathForResource:@"python"    ofType:@“py"];

这句代码指的是下图1的路径下的python.py。

以下为该文件的代码

#!/usr/bin/python

# -*- coding: UTF-8 -*-

import socket

print "This is a beautifulcathy"

0e5cd1d3607a

图1

如图2所示

1.要在项目中执行python语句需要另一个工程的加入,

libPython.xcodeproj

即,一个工程加入另一个工程。

0e5cd1d3607a

图2

二.知识点:一个工程加入另一个工程。

1.需要将两个工程放在同一级

目录下,如图3,导入

即是将后缀为 .xcodeproj 文件像一般添加文件到目标工程那样。

2.如图3

-1:项目是将libPython工程导入到trypythonagain 工程中。

-2:将python 这个重要的文件也要放在工程的同一级目录下。(不可缺的一个文件)

0e5cd1d3607a

图3

-3:python 文件的引入

1).添加一个group,名为Bundles

0e5cd1d3607a

图4

2).拖python文件到Bundles目录下

拖时注意勾选如图5

0e5cd1d3607a

图5

3.一个工程导入另一个工程需要引入一些静态库

如图6

0e5cd1d3607a

图6

point:liblibPython.a 是libPython(被导入到目标工程的子工程)的工程包。点击+ 时搜索lib 就可出现了。

4.遇到的问题

说找不到这个文件

0e5cd1d3607a

图7

但是在子工程下明明有,

为什么找不到呢  如图8

0e5cd1d3607a

图8

原因是:找不到子工程的目录

需要在Build Settings 中引入子工程的文件的目录。

0e5cd1d3607a

图9

好了,现在大功告成了。在工程中执行了Python 语句

0e5cd1d3607a

图10

下载链接: https://pan.baidu.com/s/1slr0kZr 密码: y98p

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值