当前位置:首页 » 编程语言 » python封装

python封装

发布时间: 2022-01-09 08:38:56

㈠ 我现在想把自己写的python模块源代码封装成dll,然后在别的python脚本里调用,可以吗

可以的,只要把python模块转换成dll模块,利用Python自带的ctypes模块加载调用就行。

ctypes 是Python的外部函数库。它提供了与 C语言兼容的数据类型,并允许调用 DLL 或共享库中的函数。可使用该模块以纯 Python 形式对这些库进行封装。

ctypes导出了cdll对象,在 Windows 系统中还导出了windll和oledll对象用于载入动态链接库。通过操作这些对象的属性,你可以载入外部的动态链接库。cdll载入按标准的cdecl调用协议导出的函数,而windll导入的库按stdcall调用协议调用其中的函数。

(1)python封装扩展阅读:

加载调用DLL的相关方法:

1、加载DLL

加载的时候要根据你将要调用的函数是符合什么调用约定的。

stdcall调用约定:两种加载方式

Objdll = ctypes.windll.LoadLibrary("dllpath")

Objdll = ctypes.WinDLL("dllpath")

cdecl调用约定:也有两种加载方式

Objdll = ctypes.cdll.LoadLibrary("dllpath")

Objdll = ctypes.CDLL("dllpath")

其实windll和cdll分别是WinDLL类和CDll类的对象。

2、调用dll中的方法

加载dll的时候会返回一个DLL对象(假设名字叫Objdll),利用该对象就可以调用dll中的方法。 e.g.如果dll中有个方法名字叫Add(注意如果经过stdcall声明的方法,如果不是用def文件声明的导出函数或者extern “C” 声明的话,编译器会对函数名进行修改,这个要注意。)

调用:nRet = Objdll.Add(12, 15) 即完成一次调用。

㈡ python如何封装函数

可以定义一个类,类里定义很多函数(主要用它做什么)或直接定义函数在一个py文件中
在另一个文件中导入这个那个py包,调用类和方法
就是封装了

㈢ 如何把Python脚本文件封装起来

Python | 用Pyinstaller打包发布exe应用
http://jingyan..com/article/a378c960b47034b3282830bb.html

㈣ python 函数如何封装

不是不可以,只是这样做没有意义,另外变量作用域的问题,会使得操作变得很复杂

㈤ 怎么将python代码封装成一个程序

如何将python程序封装成exe可执行文件

将python程序直接转成exe程序的方法很多,主流的工具有PyInstaller、cx_freeze、py2exe等,论及优缺点,可谓各有千秋。然而,再好的工具在使用的时候也会遇到各种各样的问题。这里无法比较哪个好那个坏,不同工具对不同类型程序的处理能力不同,也许你用这个方法转化出来的程序出问题了,换个方法就行了。本文主要介绍py2exe的安装和使用。

py2exe的安装

  • 点此下载和64位python2.7配套版本。

  • 傻瓜式安装,就是一步一步往下点。

  • py2exe的使用

  • 将python安装路径添加到系统环境变量Path值中。(若已添加,请忽略此步)

  • 建立setup.py文件,文件中输入以下代码:

  • from distutils.core import setupimport py2exe

  • setup(console=["将要转换的文件名称.py"])123

  • 在终端(cmd)输入以下命令:
    setup.py py2exe
    这样便完成了从.py文件到 .exe文件的转换,生成的软件在dist文件夹内。

  • 这里需要注意的是:不同python程序不能一概而论,具体情况需要具体讨论。

    例:当运行出错,提示缺少sip文件时,setup.py可修改为:

  • from distutils.core import setupimport py2exe

  • setup(console=[{"script":"main.py"}], options={"py2exe":{"includes":["sip"]}})123

  • 例:当你不想dos窗口停留,需要其一闪而过时,setup.py可修改为:

  • from distutils.core import setup

  • import py2exe


  • setup(window=['name.py']) #这里console改为window那么dos窗口不出现

热点内容
winxp访问不了win7 发布:2024-05-05 23:05:23 浏览:733
算法牛 发布:2024-05-05 22:43:40 浏览:719
grublinux引导 发布:2024-05-05 22:37:56 浏览:215
unix高级编程第三版pdf 发布:2024-05-05 22:32:09 浏览:958
手机wap网站源码 发布:2024-05-05 22:27:44 浏览:259
python修改文件某一行 发布:2024-05-05 22:18:22 浏览:457
md5加密64 发布:2024-05-05 21:59:30 浏览:527
259pp页面访问升级 发布:2024-05-05 21:47:51 浏览:89
迅雷阻止上传 发布:2024-05-05 21:26:19 浏览:914
数据库运维题 发布:2024-05-05 21:21:47 浏览:962