推广 热搜: 广场  Java  app  Word  营业  微信公众号  北京代理记账  商城  代理记账  商标交易 

python怎么在文件中添加内容 怎样在python程序中嵌入C程序片段?

   2023-04-27 企业服务招财猫20
核心提示:怎样在python程序中嵌入C程序片段?在c中嵌入python有一些步骤。安装python程序,以便可以使用python头文件和库。添加"Python.h"头文件链接到我们编写的源文件,并将其链接到"

怎样在python程序中嵌入C程序片段?

在c中嵌入python有一些步骤。

安装python程序,以便可以使用python头文件和库。

添加"Python.h"头文件链接到我们编写的源文件,并将其链接到"python**。lib"库(需要明确这个库是静态库还是导出库)。

掌握并理解一些pythonC语言API,用于我们的C程序。

一些常用的CAPI函数

在理解以下函数之前,有必要知道**PyObject***指针。python中几乎所有的对象都由这个指针指示。

py_Initialize()ampampPy_Finalize()

在调用任何pythonc函数之前需要调用的函数初始化"用于初始化python模块,大概是加载初始化加载dll。相应地,使用"最终确定"在使用python模块后释放它。

Pyimport_importModule()

用于加载python模块,这是一个通用的python文件。这里需要注意的是,当模块被加载时,模块中所有的可执行语句都会被执行。包括import语句和函数体外部的所有语句。

PyObject_GetAttrString()

返回模块中的函数。

Py_BuildValue()

创建参数元组,通常用这个函数创建一个元组,然后这个元组作为参数传递给python中的函数。

Pyeval_CallObject()

调用函数并传递由"Py_BuildValue"作为被调用函数的参数。

源代码示例

下面的例子是调用PythonC代码中的s函数,传递参数并获取返回值。

Test.cpp代码

#包含ltiostreamgt

#包含ltPython.hgt

使用命名空间标准

intmain(intargc,char*argv[])

{

Py_Initialize()//初始化

PyObject*pModule为空

PyObject*pFuncNULL

PyObject*pParam空

PyObject*预设为空

constchar*pBufferNULL

intiBufferSize0

p模块Pyimport_importModule(";test_python";)

如果(!p模块)

{

coutltlt获取模块失败!ltltendl

退出(0)

}

pfuncpyobject_GetAttrString(pmodule,main)

如果(!pFunc)

{

coutltltgetfunc失败!ltltendl

coutltltint(pFunc)ltlt

python如何打包成exe文件?

在之前的文章《《让你的代码更好的交付,使用Python实现模块打包发布》》中,分享了测试开发工程师在交付时,使用车轮库将交付模块封装成.whl文件,达到了提高交付部署效率的目的。同时,采用统一的发布,也有助于提高测试开发的标准化程度。

除了发布模块可以打包成。whl。

格式化文件,对于一些小型的测试工具发布场景,分享一种更适合的发布——打包成可执行文件。exe程序,让用户即使在没有Python的环境下也依然可以直接运行,进一步降低使用成本,提高使用效率。

接下来,让我们分享如何使用PyInstaller库将发布模块打包成一个。exe格式文件。

建议通过pip安装PyInstaller,否则可能会报错其他依赖库缺失,需要手动逐个安装。

Pip安装PyInstallerPyInstaller使用下面这个简单的代码示例,其中导入了Python内置的library-Time模块和第三方library-csv模块,这样每次运行时都可以将固定数据写入新生成的csv文件中。

在模块目录下执行以下命令,执行日志如下:

您可以在其中看到。uildwritefiles.exe文件已经在当前目录下生成。

当我们执行WriteFiles.exe时,我们可以发现WriteFile_1550935956.csv文件已经被添加到当前目录中。

PyInstaller-F常用参数说明:打包单个文件,生成的结果是一个。exe格式文件。-D:打包多个文件,生成的结果是一个目录,包括第三方依赖,资源,。exe文件等。适合用框架的形式写工具模块,带默认参数。-c:使用Windows控制台子系统来执行、显示命令行窗口和默认参数。-w:由Windows子系统执行,程序启动时不会打开命令行。这个参数在编写GUI程序时很有用。-p:指定一个额外的导入路径,类似于PYTHONPATH,多个目录可以使用路径分隔符(Windows用分号,Linux用冒号)。–-add-data:打包附加资源,多个资源可以使用路径分隔符(Windows用分号,Linux用冒号)。––add-binary:打包多余的代码,多个代码可以使用路径分隔符(Windows用分号,Linux用冒号)。同时,将添加–-add-binary添加文件的引用文件。-i:添加图标的图标。exe文件。-n:编辑的文件名。exe和。规格。我们尝试使用-F,-n参数只生成一个。exe文件,文件名为Toutiao。我们执行以下命令并运行日志,如下所示:

pyinstaller-f-nToutiao.exe其中distToutiao.exe文件生成在当前目录下,目录结构如下。

除了PyInstaller模块,还可以将模块打包成。exe格式,还可以了解pyexe模块,也可以达到同样的打包效果,所以我赢了这里不单独介绍了。

如果对你有帮助,欢迎评论留言。

 
反对 0举报 0 收藏 0 打赏 0评论 0
 
更多>同类资讯
推荐图文
推荐资讯
点击排行
合作伙伴
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  冀ICP备2023006999号-8