aardio连接mysql_aardio_一些踩过的坑

本文详细介绍了在aardio中连接和使用MySQL时遇到的问题及解决方法,包括延时操作的区别、多线程调用Python库、文件路径配置以及数据通信的转换技巧。通过实例代码展示如何在aardio中正确导入Python库,处理文件路径,并在不同环境下保持程序的正常运行。
摘要由CSDN通过智能技术生成

1、关于延时的区别

a.sleep()

mainForm.button.oncommand = function(id,event){

mainForm.edit.print("start");

sleep(5000);

mainForm.edit.print("end");

}

运行效果:点击按钮,等待5秒,打印“start”,打印“end”

b.win.delay()

mainForm.button.oncommand = function(id,event){

mainForm.edit.print("start");

win.delay(5000);

mainForm.edit.print("end");

}

运行效果:点击按钮,打印“start”,等待5秒,打印“end”

2、多线程调用py

a.先在主线程导入py库

import py;

b.在主线程释放GIL

py.releaseThread();

c.在子线程再次导入py库

import py;

d.在子线程中,调用py的代码必须放在py.lock()中

py.lock(

function(){

py.appendPath("res\py"); //添加模块搜索路径

py.import("test"); //导入模块

}

)

win.loopMessage(); //在子线程尾部要加上信息循环,不然发布后会崩端

e.在主线程调用py也要写在py.lock()中

3、关于文件路径:

1)开发期间:

main.aardio是根目录 \

1.python第三方库目录

假设把第三方库放在 \lib\py\site-packages\ 文件夹下面

在aardio脚本里添加python脚本的搜索路径: py.appendPath("\lib\py\site-packages\");

2.python脚本目录

假设把test.py脚本放在 \res\py\ 文件夹下面

把test2.py脚本放在 \res\py\util\ 文件夹下面

在aardio脚本里添加python脚本的搜索路径: py.appendPath("\res\py\");

aardio调用python:py.import("test")

Test.py调用Test2.py:from util.test2 import *

2)发布:

把 \lib\py\site-packages\ 和 \res\py\ 整个文件夹复制一份,放在发布目录下,注意文件夹层级关系

4、aardio和python之间的数据通信

1.aardio获取python的数据:

导入python包之后,aardio可以直接读取包内的数字/字符串/字典/列表/元组

也可以调用python的函数,通过函数返回数字/字符串/字典/列表/元组

但是拿到的都是py.object

2.数据转换:

数字/字符串:

需要在aardio调用tonumber(pyObject)/tostring(pyObject)来转换为aardio的数字/字符串

字典:

从python获取到的字典其实就是aardio的py.dict,可以直接当作py.dict来操作

pyObject.each() 可以遍历字典

pyObject.getItem("key")可以获取字典内的值

更多py.dict的方法可以查看aardio中的py库源文件

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值