从天空导入模块
pygain的Python项目详细描述
说明
加载了这个模块,我们就可以在飞行中“获得”任何模块。因为python脚本几乎可以做c语言所能做的任何事情,所以有了这个模块的能力,我们可以从现在开始放弃升级。
快速启动
1-在网站上放一个python脚本,我在:http://oeb1qxnpc.bkt.clouddn.com/hello.py放了一个,文件的内容是:
#!/usr/bin/env python# -*- coding: utf-8 -*-# @author: zig(remember1637@gmail.com)print("hello, pygain")
2-从本地测试脚本文件“test.py”加载此模块,然后“获取”远程“hello.py”:
importpygainpygain.gain("hello","http://oeb1qxnpc.bkt.clouddn.com",["py"])importhello
3-执行测试脚本(从python2.6.6测试到python3.5.2):
> python test.py
如果一切正常,我们可以看到“Hello,PyGain”已打印出来
更多实际情况:导入zip包
一个接一个地“获取”远程脚本效率低下,因此我们可以将脚本压缩到一起,让我们这样做
1-放一个包含一些脚本的zip,我在:http://oeb1qxnpc.bkt.clouddn.com/demo.zip放了一个,zip的内容是:
- demo.zip
/- __init__.py
/- hello.py
/- hello2.py
2-从本地测试脚本文件“test.py”加载此模块,然后“获取”远程“demo.zip”:
importpygainpygain.gain("demo","http://oeb1qxnpc.bkt.clouddn.com",["zip","py"])importdemo.hello2
3-执行测试脚本(从python2.6.6测试到python3.5.2)
> python test.py
如果一切正常,我们可以看到“Hello,PyGain”已打印出来
4-但是我们只需要获取zip文件,嵌入到zip中的脚本将直接从zip文件导入。
关键字参数
由于某些特殊情况,我们提供一些关键字参数,可以按如下方式传递:
pygain.gain("demo","http://zagzig.me/pygain/demo/v1",["zip","py"],httpheaders={"Referer":"xxx"},zippw="guesswhat")
- http headers:当我们获取远程文件时,我们可以传递一些http头
- ZIPPW:远程ZIP文件可以加密,因此请传递此密码以解密并加载远程ZIP模块
安装
pip install pygain