搜索
查看: 1406|回复: 2

使用python 3.x出现问题

[复制链接]

2

主题

10

帖子

176

积分

一级会员

Rank: 2

积分
176
发表于 2017-11-18 12:58:55 | 显示全部楼层 |阅读模式
  1. import console;
  2. import py;
  3. import sqlite;

  4. //python调用aardio函数

  5. py.export.aardio ={
  6.     showconsole = function(result){   
  7.     console.log(result);
  8.     }
  9. }

  10. //python代码
  11. var pyCode = /**

  12. #encoding=utf-8
  13. import aardio;
  14. import sys
  15. sys.path.append("../")
  16. import jieba

  17. def cuttest(test_sent):
  18.     result = jieba.cut(test_sent,cut_all=False)
  19.     aardio.showconsole(' '.join(result))

  20. **/


  21. //执行Python3 的代码
  22. py.exec( pyCode );

  23. //载入sqlite数据库
  24. var sqlConnection = sqlite("/dbs.db");

  25. //sqlite开启事务
  26. sqlConnection.exec("begin;");

  27. //迭代方式查询数据  
  28. for txt in sqlConnection.each("SELECT txt FROM text") {
  29.     //console.log("_______");
  30.     py.main.cuttest(txt);
  31. }

  32. //以下没问题
  33. //py.main.cuttest("只要再靠近一点,到达那只恐怖海兽的感知边缘,我就可以离开了。");
  34. //py.main.cuttest("到时候,魇石就属于我了!");
  35. //py.main.cuttest("整个甲板的水手也松了一口气,一边在阿尔温的指挥下,将登岛要做的准备全全做好,一边还在继续庆祝着陆的喜悦。");

  36. //sqlite关闭事务
  37. sqlConnection.exec("commit;");

  38. console.pause();
复制代码

运行到300多行出现错误
文件: \aardio\lib\py\objece.aardio
错误行号:#337
错误:EXCEPTION_ACCEX_VIOLATION 存储保护异常,发生错误的内存地址:0x00000000 错误代码:0xC0000005

范例程序>Python语言>1)Python 3.x>4)export 按界面的按键过快同样出现同样问题。
文件: \aardio\lib\py\objece.aardio
错误行号:#337
错误:EXCEPTION_ACCEX_VIOLATION 存储保护异常,发生错误的内存地址:0x00000000 错误代码:0xC0000005

少于300行没有问题。

请问我该怎么修改代码?
环境是win10 64bit 企业版
回复

使用道具 举报

2

主题

10

帖子

176

积分

一级会员

Rank: 2

积分
176
 楼主| 发表于 2017-11-20 19:17:31 | 显示全部楼层
自己解答
py python3.4    //export 导出模块
源代码:
  1.                 //避免模块定义被提前释放
  2.                 __staticModuleDef__[moduleName] = {
  3.                         callbacks = callbacks;
  4.                         moduleDef = ..raw.buffer(PyModuleDef);
  5.                         init = PyModuleDef.m_init;
  6.                 };
复制代码


改成:
  1.                 //避免模块定义被提前释放
  2.                 __staticModuleDef__[moduleName] = {
  3.                         callbacks = callbacks;
  4.                         moduleDef = PyModuleDef;
  5.                         init = PyModuleDef.m_init;
  6.                 };
复制代码

这样子修改后调用export 导出模块不再运行调用python函数
113次就跳出错误。
回复

使用道具 举报

185

主题

2541

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
13974
发表于 2017-11-20 23:48:41 | 显示全部楼层
BADENDING 发表于 2017-11-20 19:17
自己解答
py python3.4    //export 导出模块
源代码:

非常感谢,已修正py扩展库
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

手机版|未经许可严禁引用或转载本站文章|站长邮箱|aardio.com|aardio官方社区 ( 皖ICP备09012014号 )

GMT+8, 2018-12-18 01:46 , Processed in 0.062500 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表