在ios中运行一个简单的python脚本

在ios中运行一个简单的python脚本,第1张

概述我想在ios上运行python脚本. 我不想在Python中编写整个Application的一小部分. 我试图了解PyObjC,但事情并不那么容易. 你能举个例子吗?我想在NSString变量中保存以下方法的结果. def doSomething(): someInfos = "test" return someInfos 以下是调用myModule中定义的函数的示例.等效的pytho 我想在ios上运行python脚本.
我不想在Python中编写整个Application的一小部分.

我试图了解PyObjC,但事情并不那么容易.

你能举个例子吗?我想在Nsstring变量中保存以下方法的结果.

def doSomething():   someInfos = "test"   return someInfos
解决方法 以下是调用myModule中定义的函数的示例.等效的python将是:

import myModulepValue = myModule.doSomething()print pValue

在Objective-c中:

#include <Python.h>- (voID)example {    PyObject *pname,*pModule,*pDict,*pFunc,*pArgs,*pValue;    Nsstring *nsstring;    // Initialize the Python Interpreter    Py_Initialize();    // Build the name object    pname = PyString_FromString("myModule");    // Load the module object    pModule = Pyimport_import(pname);    // pDict is a borrowed reference     pDict = PyModule_GetDict(pModule);    // pFunc is also a borrowed reference     pFunc = PyDict_GetItemString(pDict,"doSomething");    if (PyCallable_Check(pFunc)) {        pValue = PyObject_CallObject(pFunc,NulL);        if (pValue != NulL) {            if (PyObject_isinstance(pValue,(PyObject *)&PyUnicode_Type)) {                    nsstring = [Nsstring stringWithCharacters:((PyUnicodeObject *)pValue)->str length:((PyUnicodeObject *) pValue)->length];            } else if (PyObject_isinstance(pValue,(PyObject *)&PyBytes_Type)) {                    nsstring = [Nsstring stringWithUTF8String:((PyBytesObject *)pValue)->ob_sval];            } else {                    /* Handle a return value that is neither a PyUnicode_Type nor a PyBytes_Type */            }            Py_XDECREF(pValue);        } else {            PyErr_Print();        }    } else {        PyErr_Print();    }    // Clean up    Py_XDECREF(pModule);    Py_XDECREF(pname);    // Finish the Python Interpreter    Py_Finalize();    NSLog(@"%@",nsstring);}

有关更多文档,请查看:Extending and Embedding the Python Interpreter

总结

以上是内存溢出为你收集整理的在ios中运行一个简单的python脚本全部内容,希望文章能够帮你解决在ios中运行一个简单的python脚本所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1068645.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存