aardio 文档

py2 库模块帮助文档

py2 成员列表

Python v2.7.10 扩展库,
已自带绿色便携运行时,不用额外安装VC运行库,
兼容 Win XP,以及之后的系统,
Python 不同版本通常并不完全兼容,不建议随意更换运行时,
添加 Python 模块时也应使用相同版本运行时下安装的版本

如果需要在 Python 中使用 print 函数输出到控制台
请在导入库以前打开控制台

py2.DecRef(指针)

减少引用计数

py2.IncRef(指针)

增加引用计数

py2.addModule("字符串参数")

如果不存在指定名字的模块就创建新模块
返回模块对象

py2.addModule()

返回对象:py2ModuleObject

py2.addSiteDir()

添加 site-packages 站点目录,
Python 也会在站点目录下查找模块,且支持该目录下的 *.pth 。
默认已添加安装模块的默认目录 "\py\site-packages",
site.USER_BASE 默认设为工程下的 /py 目录,不允许修改

py2.appendPath

添加 Python 模块搜索目录,
也就是追加目录到 Python 中的 sys.path。

默认的模块搜索目录为『应用程序根目录』下的 /py 目录

py2.appendPath("搜索路径")

添加 Python 模块搜索目录,
也就是追加目录到 Python 中的 sys.path 支持多个参数。
支持多参数指定多个要添加的路径

py2.builtin

builtin 模块提供 Python 内置函数

返回对象:py2DictObject

py2.compile("字符串参数")

编译字符串或py文件
返回代码对象
可选增加第二个参数
可选增加第二个PyCompilerFlags参数

py2.compile()

返回对象:py2CodeObject

py2.eval("python表达式")

main 模块中计算表达式的值

py2.eval()

返回对象:py2Object

py2.exec

运行 Python 代码,
代码会先转换为 ANSI 编码,改用 execRaw 函数不转换,
参数也可以指定内嵌资源文件路径
注意需要引用的 Python 模块应当放在 /py 目录下,
aardio 以斜杠或反斜杆开始则表示应用程序根目录下的路径,
应用程序根目录开发时为 aardio 工程目录,发布后为 EXE 文件所在目录

py2.exec("Python 代码",flags,...)

在默认的__main__名字空间运行 Python 代码,成功返回true,
参数@1如果以斜杠或反斜杆开始则表示资源文件路径,
可选使用参数 @2 设置 PyCompilerFlags 参数,
参数@2不必指定,用法参考 Python 文档。
参数@3 开始可选指定一个或多个启动参数,
注意不必像 py2.setArgv 函数那样在首个启动参数中指定启动程序路径

py2.execRaw

运行 Python 代码,代码不会先转换为 ANSI 编码,
参数也可以指定内嵌资源文件路径
注意需要引用的 Python 模块应当放在 /py 目录下,
aardio 以斜杠或反斜杆开始则表示应用程序根目录下的路径,
应用程序根目录开发时为 aardio 工程目录,发布后为 EXE 文件所在目录

py2.execRaw("Python代码",flags,...)

在默认的__main__名字空间运行 Python 代码,成功返回true,
参数@1如果以斜杠或反斜杆开始则表示资源文件路径,
可选使用参数 @2 设置 PyCompilerFlags 参数,
参数@2不必指定,用法参考 Python 文档。
参数@3 开始可选指定一个或多个启动参数,
注意不必像 py2.setArgv 函数那样在首个启动参数中指定启动程序路径

py2.execUtf8

运行 Python 代码,
在代码前自动添加'#-*-coding:utf-8-*-'与换行,
参数也可以指定内嵌资源文件路径
注意需要引用的 Python 模块应当放在 /py 目录下,
aardio 以斜杠或反斜杆开始则表示应用程序根目录下的路径,
应用程序根目录开发时为 aardio 工程目录,发布后为 EXE 文件所在目录

py2.execUtf8("Python代码",flags,...)

在默认的__main__名字空间运行 Python 代码,成功返回true,
参数@1如果以斜杠或反斜杆开始则表示资源文件路径,
可选使用参数 @2 设置 PyCompilerFlags 参数,
参数@2不必指定,用法参考 Python 文档。
参数@3 开始可选指定一个或多个启动参数,
注意不必像 py2.setArgv 函数那样在首个启动参数中指定启动程序路径

py2.execf

首先调用 string.format 格式化代码
然后执行格式化后的代码

py2.execf("Python代码",...)

首先调用 string.format 格式化参数并生成代码,
然后执行格式化后的代码。

详细用法请参考
格式化字符串

py2.execfile

运行 *.py 文件
注意需要引用的 Python 模块应当放在 /py 目录下,
aardio 以斜杠或反斜杆开始则表示应用程序根目录下的路径,
应用程序根目录开发时为 aardio 工程目录,发布后为 EXE 文件所在目录

py2.execfile("Python文件路径",flags,...)

运行 *.py 文件,成功返回true,
参数@1如果以斜杠或反斜杆开始则表示应用程序根目录下的路径,
应用程序根目录开发时为 aardio 工程目录,发布后为 EXE 文件所在目录,
可选用 参数@2 设置 PyCompilerFlags 参数,
可选增加任意个启动参数,即 sys.argv 参数

py2.export()

参数应指定 aardio 对象,
table、cdata、class、function 类型参数转换为 Python 代理对象,
支持导出 aardio 迭代器,注意迭代器返回 tuple 元组,
其他类型参数直接返回不作转换。

py2.export 创建的代理对象会绑定原始的 aardio 对象,
在 Python 中调用代理对象时都会转发调用到 aardio 对象,
对返回代理对象的所有调用也会同样经过 py2.export 处理。

未经 py2.export 处理的 aardio 对象传入 Python 时,
只会复制可能复制的值为纯 Python 对象,且不再关联原始对象

返回对象:py2Object

py2.float()

调用 Python 的 float 函数,
参数可指定 aardio 或 Python 中可转为浮点数的对象,
创建 Python 浮点数并返回 py.object 对象,
返回的 Python 对象支持 +,-,*,/,%,<,>,<=,>=,== 等运算符

返回对象:py2Object

py2.getDict(模块指针)

相当于Python模块对象的__dict__ 属性,得到模块名称空间下的字典对象

py2.getPath()

返回默认搜索路径
以分号隔开

py2.getProgramName()

返回程序名

py2.getPythonHome()

返回python目录

py2.globals()

全局名字空间

返回对象:py2DictObject

py2.import("字符串参数")

导入模块,相当于Python内建函数__import__()
返回模块指针

py2.import()

返回对象:py2ModuleObject

py2.int()

调用 Python 的 int 函数,
参数可指定 aardio 或 Python 中可转为整型数值的对象,
创建 Python 整型数并返回 py.object 对象,
返回的 Python 对象支持 +,-,*,/,%,<,>,<=,>=,== 等运算符,
aardio 数值默认会转换为 Python 中的浮点数,
如果参数需要用到整型数,可使用此函数创建整型数,
也可以在 Python 代码中调用 int 函数转换

返回对象:py2Object

py2.json

Python的json模块

返回对象:py2ModuleObject

py2.lasterr()

如果 Python 已发生异常,
返回错误信息,以及异常类名称,
调用此函数会清除异常

py2.locals()

局部名字空间

返回对象:py2DictObject

py2.lock( 回调函数,... )

py2.lock( 回调函数,...lock(  
    function(){  
        /*释放GIL以后所有调用python代码必须写到这里*/     
    }  
)

py2.main

Python的__main__模块

返回对象:py2ModuleObject

py2.mainThread

当前是否 Python 主线程
Python 有全局锁所以无法实现真正的多线程,
为避免不必要的麻烦,建议尽量在单线程里使用 Python

py2.occurred()

Python 是否发生异常

py2.releaseThread()

释放GIL线程锁
调用此函数以后,所有调用python的代码必须在py.lock中运行
否则将导致进程异常退出,请小心使用,
python没有真正多线程,尽可能不要使用此函数以带来不必要的麻烦

py2.run(...)

直接输入启动参数启动python解释器
类似调用python.exe

py2.set()

调用 Python 的 set 函数,
参数可指定 aardio 或 Python 中可转为集合的对象,
创建 Python 集合并返回 py.object 对象

返回对象:py2Object

py2.setArgv("启动参数")

设置sys.argv启动参数,
参数可以是任意个字符串参数,
也可传入一个字符串数组。
Python 从第 2 个参数开始取实际参数

py2.setPath()

设置默认搜索路径
以分号隔开

py2.setProgramName("字符串参数")

修改程序名

py2.setPythonHome("字符串参数")

改变python应用程序目录

py2.str()

调用 Python 的 str 函数,
参数可指定 aardio 或 Python 中可转为字符串的对象,
创建 Python 整型数并返回 py.object 对象,
py.object 对象都提供 toString 函数可转为 aardio 字符串,
也可以在 aardio 中使作为 tostring 函数的参数转为普通字符串

返回对象:py2Object

py2.sysObject("名字")

获取sys对象

py2.sysObject()

返回对象:py2Object

py2.toString()

参数指定 py.object 对象或 pyObject 原生指针,
调用 Python 内置函数 str 转换为字符串对象,
最后转换并返回为 aardio 字符串
失败返回null

此函数不会检查参数类型是否正确,
参数如果不是 py.object 对象或 pyObject 指针则会导致异常或崩溃

py2.version

返回python内核版本
字符串值

::Python2 成员列表

::Python2.?

可输入 Python2.7 API 函数名并直接调用

::Python2.api("Py输入函数名字","void()" )

声明加载的 Python2.7 API函数

py2.export 成员列表

注意只能在 Python 启动线程中使用此功能,
注意不应在多个线程中调用 py2.export,
export 作为名字空间使用时,
export 名字空间的 aardio 成员对象,
可在 Python 中使用 import 语句导入

export 作为类构造函数使用时,
可导出 aardio 对象为 Python 代理对象,
调用 Python 代理对象会转发到 aardio

py2.export.?

{ __/*这里定义的成员函数可在 Python 中调用*/ }

py2CodeObject 成员列表

py2CodeObject.eval()

运行python代码并返回值
可选增加两个参数,指定全局名字空间,局部名字空间
名字空间必须是py.dict()字典对象

返回对象:pyObject

py2CodeObject.exec("字符串参数")

运行python代码并返回模块对象

返回对象:py2ModuleObject

全局常量

::Python2

py2 扩展库加载的 Python2.DLL 模块

自动完成常量

_Py_eval_input=258
_Py_file_input=257
_Py_single_input=256

Markdown 格式