python调用lua脚本
lua代码
入口函数是必须要填的
function test1(params)
return 'test1:'..params
end
function test2(params)
return 'test2:'..params
end
-- 入口函数,实现反射函数调用
function functionCall(func_name,params)
local is_true,result
local sandBox = function(func_name,params)
local result
result = _G[func_name](params)
return result
end
is_true,result= pcall(sandBox,func_name,params)
return result
end
python代码
from lupa import LuaRuntime
class Lua:
def __init__(self):
fileHandler = open('./code.lua')
content = fileHandler.read()
lua = LuaRuntime()
lua.execute(content)
g = lua.globals()
self.function_call = g.functionCall
def get_sign(self,data):
res = self.function_call('sign', data)
return res
if __name__ == '__main__':
lua = Lua()
sign = lua.get_sign("入参")
python调用lua脚本的更多相关文章
- Java调用Lua脚本(LuaJava使用、安装及Linux安装编译)
依赖包(附件有下载): 包名 类型 操作系统 luajava-1.1.jar jar ALL libluajava-1.1.so .so linux luajava-1.1.dll .dll wind ...
- Redis进阶实践之八Lua的Cjson在Linux下安装、使用和用C#调用Lua脚本
一.引言 学习Redis也有一段时间了,感触还是颇多的,但是自己很清楚,路还很长,还要继续.上一篇文章简要的介绍了如何在Linux环境下安装Lua,并介绍了在Linux环境下如何编写L ...
- Python 调用 Shell脚本的方法
Python 调用 Shell脚本的方法 1.os模块的popen方法 通过 os.popen() 返回的是 file read 的对象,对其进行读取 read() 的操作可以看到执行的输出. > ...
- 用C#调用Lua脚本
用C#调用Lua脚本 一.引言 学习Redis也有一段时间了,感触还是颇多的,但是自己很清楚,路还很长,还要继续.上一篇文章简要的介绍了如何在Linux环境下安装Lua,并介绍了在Linux环境下如何 ...
- 调用Lua脚本print(xxx)报attempt to call a nil value (global 'print')错误
在自己程序里调用Lua脚本print(xxx) 报出attempt to call a nil value (global 'print')错误 解决方法: luaopen_base(L); 或者 l ...
- python调用shell脚本时需要切换目录
最近遇到了一个问题,就是python代码调用shell脚本时,发现输入输出的文件,总是和自己预想的有偏差,但是单独在linux下执行命令的时候,却没有错误.后来发现是相对路径的问题,因为执行pytho ...
- Java调用Lua脚本(热载实现)
前言: Lua作为解析执行的脚本语言, 往往是易变逻辑编写的首选语言, 尤其是在游戏领域. C/C++和Lua的结合, 往往了标配. 比如Redis, Nginx其对Lua的支持, 也是杠杠的. 当然 ...
- 新姿势!Redis中调用Lua脚本以实现原子性操作
背景:有一服务提供者Leader,有多个消息订阅者Workers.Leader是一个排队程序,维护了一个用户队列,当某个资源空闲下来并被分配至队列中的用户时,Leader会向订阅者推送消息(消息带有唯 ...
- 使用redis调用lua脚本的方式对接口进行限流
java端实现: //初始化一个redis可执行的lua DefaultRedisScript<List> defaultRedisScript = new DefaultRedisScr ...
- python调用其他脚本
1.用python调用python脚本 #!/usr/local/bin/python3. import time import os count = str = ('python b.py') re ...
随机推荐
- ssh登录、scp传送文件
一.ssh 1.远程登陆服务器 ssh user@hostname user: 用户名hostname: IP地址或域名 第一次登录时会提示:The authenticity of host '123 ...
- pytorch自定义RNN结构(附代码)
pytorch自定义LSTM结构(附代码) 有时我们可能会需要修改LSTM的结构,比如用分段线性函数替代非线性函数,这篇博客主要写如何用pytorch自定义一个LSTM结构,并在IMDB数据集上搭建了 ...
- reduce对数组及数组对象的常见操作
语法: array.reduce(function(prev, currentValue, currentIndex, arr), initialValue)prev: 初始值,或者是计算结束后的返回 ...
- vue3 门户网站搭建2-ngnix
路由配好了,需要调试下 build 后是否可用,这时我们需要一个服务端来运行静态网页. 官网直接下载一个 windows 版本的 ngnix 即可: http://nginx.org/en/downl ...
- JSR 133
JSR 133是Java语言规范的一个JSR(Java Specification Request),全称为Java Memory Model and Thread Specification R ...
- ptyhon基础课程_4
16 循环语句 1.while 语句的格式:"while 条件 :" while True : #循环输出"你好,世界" print ("你好,世界& ...
- java annotation(如何创建新的注解)小结
"注解"有三种 1:无实际参数,只有声明 2:只存在单一参数,有些像方法调用 3:有多个参数 标准的"注解"就先不总结了. 想总结一下<如何创建自己的注解 ...
- html入門 如何 區別行級元素 和 塊級元素
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
- vue-cli3配置打包后的文件加上版本号
修改vue.config.js
- pytest设计项目结构
api目录封装所有的接口 testcases目录写所有的测试用例.conftest全局登录前置操作 data目录测试数据 common或者utils目录.存放公共模块比如读取yml文件.连接数据库.所 ...