首页

文章

python中怎么调用自己的方法

发布网友 发布时间:2022-03-03 17:56

我来回答

1个回答

热心网友 时间:2022-03-03 19:26

C/C++对Python的调用层次可以分为三个层次, (1) 高层次的调用, (2)纯Python调用, (3) Python方法的扩展(也就使向Python输出调用函数). 这里我主要讨论(1)和(2)两种方法.
1 高层次的调用
这是最简单的一种在C/C++中调用Python的方法. 它直接的调用Python提供的C调用接口函数, 这些函数主要有: PyRun_SimpleString(), PyRun_SimpleStringFlags(), PyRun_SimpleFile(), PyRun_SimpleFileEx()和PyRun_SimpleFileExFlags()几个. 函数的具体用法参考Python的文档.
这里举个例子来说明这种层次的用法:
由这个例子可见, 在C/C++中调用Python的内容非常简单, 只要构造一个简单的Python调用字符串.这里要注意的就是, Python调用串语句之间要用'/n'来分开, 且语句之间不能有空格, 如上面的Python字符串不能写成: "import sys/n print sys.path" , 否则要出错的.
// c/c++ 中 Python 调用必须的头文件
#include <Python.h>
//
int main(int argc, char* argv[])
{
// 初始化Python解析环境
Py_Initialize();
// 构造Python执行脚本
char szPyScript[128];
sprintf(szPyScript, "import sys/nprint sys.path");
if(PyRun_SimpleString(szPyScript) != 0)
{
sprintf(stderr, "execute /'%s/'failed!", szPyScript);
return -1;
}
// 清除Python解析环境
Py_Finalize();
}
//
//
以上的例子也表明了在C/C++中调用Python的基本结构, 就是
(1) 先初始化Python环境然: Py_Initialize()
(2) 具体对Python的操作
(3) 清除Python环境
更复杂的一个使用高层调用的例子, 这个例子用PyRun_SimpleFile的例子.
这里值得注意是, 在Window中:
(1) 链接debug版本的时候会自动链接PythonXX(_d).lib库, PythonXX_d安装时是没有安装的, 所以要显示的指定链接PythonXX.lib库, 不知道VC6.0为什么还会去找PythonXX_d.lib, 在vs7.0不会.
(2) 编译时要以 /MD(多线程DLL) 选项编译(不论时debug版本还时release版本都一样).
以上我在VC7.0中可以正确的运行, 在VC6.0这样还不行, 可能和我使用的版本有关系(我用的版本是:Python24.lib). 有知道的请赐教!!
// c/c++ 中 Python 调用必须的头文件
#include <Python.h>
//
int main(int argc, char* argv[])
{
// 初始化Python解析环境
Py_Initialize();
//
char szFile[] = "PyFile.py";
//sprintf(szPathFile, "%s//%s", szPath, szFile);
FILE* fp = fopen(szFile, "r");
if(PyRun_SimpleFile(fp, szFile) != 0)
{
fclose(fp);
sprintf(stderr, "PyRun_SimpleFile(%s) failed!", saFile);
return -1;
}
fclose(fp);
// 清除Python解析环境
Py_Finalize();
}
2 纯Python调用
如何分别真金和仿金首饰 怎样区分真金和仿金首饰呢 小学生新年晚会主持人的串词!!(不要太多)急 大大后天就需要了!!!_百度... 周年晚会策划公司 奥格瑞玛传送门大厅在哪 奥格瑞玛传送门大厅怎么走 锻炼颈椎的几个动作 水多久能结冰 冰能在多长时间内形成 请问水低于0度会结冰吗? 如何防止脱发严重 嘴唇上有黑印用蜜蜡和棉线去除了胡须 软柿子的热量 孕妇可以吃软柿子吗不是西红柿 脆柿子和软柿子的区别 脆柿子好还是软柿子好 软柿子可以多吃吗 “鱼悬洁白振清风”的出处是哪里 用大自然的声音评课好吗? 妇产科博士找超声科工作容易吗 怎能把微信6.2.0版本换回6.1.2版 微信群6.2.4怎么增加人数上限 微信6.2.2如何备份手机通讯录 电脑桌面图标不能放大? 有什么好用的识图软件 识图认人哪个软件最好 手机识图软件什么软件能识别图片位置 小米手机自动锁屏时间怎么修改 小米手机屏幕锁定时间设置教程 能举起100斤算大力吗 中医美容专业是什么 中医美容证有什么用 单声道音频什么意思(开启单声道音频有什么好处) 单声道音频是什么,有什么用处? 户口还未迁移到婆家 娘家户口怎么就没了呢 我结婚没有迁户口,现在娘家也没有怎么办 没领证生的孩子一般会判给谁 没领证生的孩子会判给谁 信用卡卡种有哪些 找一首古风歌曲 男声 低配电脑装w10还是w7流畅 电脑配置低装win7还是win10好 低配电脑适合装WIN7系统还是WIN10系统? ...500s-15isk这个联想笔记本的内存条尺寸是什么型号的有没有知道的... 越快越好.怎样减肥.而且胸部不缩水 请问徐闻县海安长途汽车客运站客服是多少? 过了平台期还会瘦吗 悦耳的意思悦耳的解释 重庆师范大学应用心理学专业的权威性如何? 打印机laserjetm1136mfp怎样设置无线打印 经典电影赏析之1:《精武英雄》 爆米花用的什么玉米 糯玉米哪个好 有机糯玉米的营养价值如何? 四大直辖市换帅原因 四大直辖市换帅为啥 电脑屏幕闪烁可能是出现了什么故障 python安装完后怎么用 电脑屏幕闪动是什么原因? 电费缴费卡余额怎么查? 电费余额怎么查呀? 查电费余额怎么查询人工 端午节为什么要吃棕子?有什么寓意? 冰箱冷藏室里面结冰是什么原因,怎么处理? 端午节为什么要吃粽子?吃粽子有什么好处呀? 冰箱保鲜室里边后壁总是结冰,是怎么回事,应怎么办? iphone微信置顶怎么设置 冰箱结冰太多怎么处理? 苹果手机微信置顶语怎么弄 苹果手机微信置顶怎么弄 冰箱内壁结冰处理绝招 三星手机微信怎么更改默认打开方式 三星手机发微信怎样发原图 三星手机如何更换微信里的皮肤?默认的看腻了。谢谢各位! 苹果8无线充电怎样使用 苹果11怎么用无线充电器 python中def怎么使用 电脑显示屏会闪黑屏是什么原因? 苹果5s怎么杀毒清理垃圾文件 电脑屏幕时不时会闪一下,是什么原因啊 电脑显示器经常闪屏是什么原因 python培训学习班哪里好? 学习Python是自学好还是培训班好? 电脑屏幕一闪一闪的,什么原因 学习python课程去哪好? 笔记本电脑屏幕一闪一闪的什么原因? python如何学习,自学好还是培训好?有教程或者培训班推荐么? 电脑显示屏闪烁特别厉害是什么原因? 电脑屏幕闪烁是怎么回事 国内学习python有哪些好的培训机构 电脑屏幕一闪一闪是什么原因? 电脑显示屏有时会闪是怎么回事? 拯救者怎么开启键盘灯光 电脑屏幕经常闪烁是什么回事? 联想拯救者笔记本键盘灯光怎么开 联想拯救者y7000键盘灯怎么开
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com