游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2734|回复: 7

请教:如何从内存中加载python脚本

[复制链接]

9

主题

688

帖子

688

积分

高级会员

Rank: 4

积分
688
发表于 2007-1-18 02:19:00 | 显示全部楼层 |阅读模式
我们一般用PyImport_Import函数,从磁盘加载一个python脚本。
但如果我想事先将脚本文件的内容读入一个buffer当中,然后再传递buffer的地址来加载脚本,应该怎么做,请赐教。

8

主题

716

帖子

716

积分

高级会员

Rank: 4

积分
716
发表于 2007-1-18 11:52:00 | 显示全部楼层

Re:请教:如何从内存中加载python脚本

通常一个简单解决问题的办法就是: 将未知问题convert为已知问题来解决.

所以你可以将这个memory给write到disk上的tmp fille来载入

9

主题

688

帖子

688

积分

高级会员

Rank: 4

积分
688
 楼主| 发表于 2007-1-18 13:37:00 | 显示全部楼层

Re:请教:如何从内存中加载python脚本

谢谢,但如果这样,恐怕效率不高,而且也不够graceful~~

121

主题

2029

帖子

2034

积分

金牌会员

Rank: 6Rank: 6

积分
2034
QQ
发表于 2007-1-18 18:24:00 | 显示全部楼层

Re:请教:如何从内存中加载python脚本

实际上是用Py支持的编译函数进行编译就好。具体的。。。忘了。
反正用boost::python的run直接运行脚本就可以。
但是实际上还是建议你先Parser一下将Parser的结果保存,调用的时候载入Parser后的,会节省很多时间。

8

主题

716

帖子

716

积分

高级会员

Rank: 4

积分
716
发表于 2007-1-18 18:39:00 | 显示全部楼层

Re:请教:如何从内存中加载python脚本

python在load一个file时,会自动先找pyc文件,如果没有会先compile py然后回到前一步.

121

主题

2029

帖子

2034

积分

金牌会员

Rank: 6Rank: 6

积分
2034
QQ
发表于 2007-1-18 18:46:00 | 显示全部楼层

Re:请教:如何从内存中加载python脚本

你是指File的情况...

9

主题

688

帖子

688

积分

高级会员

Rank: 4

积分
688
 楼主| 发表于 2007-1-18 19:03:00 | 显示全部楼层

Re:请教:如何从内存中加载python脚本

是这样的,我想把所有pyc放到一个大文件里面,加载脚本的时候,先从大文件里找到某个pyc文件的内容,将它load到一个buffer里面,之后再从buffer加载脚本。
但python貌似没有提供从内存加载脚本的函数。
我想知道到底python有没有提供这样的函数?如果没有,就暂时放弃这个想法。

121

主题

2029

帖子

2034

积分

金牌会员

Rank: 6Rank: 6

积分
2034
QQ
发表于 2007-1-19 13:28:00 | 显示全部楼层

Re:请教:如何从内存中加载python脚本

只要你Import了就OK了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-26 06:57

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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