从python运行javascript代码

PyJSCaller的Python项目详细描述


PyjsCaller

从python运行javascript代码。

pyjscaller是介于python和javascript之间的一个代理,它使javascript更像python语言。

一个简短的例子:


example.js
functionadd(a,b){returna+b;}

使用量

>>>importjscaller>>>jscaller.eval("'Hello World!'.toUpperCase()")'HELLO WORLD!'>>>withjscaller.Session('example.js',timeout=3)assess:...add=sess.get('add')...retval=add(add(1,2),2)...sess.call(retval)>>>retval.getValue()5

支持的jsengine

安装

$ pip install PyJSCaller

更多示例

另一个简短的例子

>>>fromjscaller.collectimportnew,String>>>withjscaller.Session()assess:...string=new(String("Hello JavaScript!"))...string.replace('JavaScript','Python')...sess.call(string)>>>string.getValue()"Hello Python!"

使用jscaller.make()装备其他jsengine:

>>>fromjscaller.engineimportNodeJS,PhantomJS>>>PhantomJS.environ(shell=True,timeout=5)>>>jscaller.make(PhantomJS)>>>jscaller.eval('1+1*2/4')1.5

您可以使用PhantomJS.test()检查引擎是否工作正常。

>>>PhantomJS.test()# return the version number of PhantomJS2.1.1

许可证

麻省理工学院许可证

更改日志

0.1.1

  • 全部重建。
  • 支持Linux。
  • 支持Python3.7.x。
  • 支持Python2.7.x。

0.0.1

  • 已上载代码。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
最小化/最大化JAVA GUI后swing框架变黑   来自数据库的Java sql文本   java如何区分字符串中的“0”和“00”并替换子字符串   多线程Java:如果多个线程试图访问从LinkedList而不是ConcurrentLinkedQueue实现的队列,会发生什么情况?   java我无法在basic行中找出我的程序中哪里有错误。setLayout(新BoxLa   在java中的回发之间持久化datatable中的数据(我在spring框架中工作)   java在MySQL表中插入多行   JAVANullPointerException null(再次)   java同一个包和不同包中的超类的子类之间有什么区别?   Heroku上的java New relic,如何让它工作?   java将两个arraylist组合成一个具有特定顺序或序列id的列表   java从listview启动活动   java Maven复制了我所有的。JAR中的类文件   java如何修复格式错误的POM:无法识别的标记:“groupId”?   java崩溃的安卓应用程序   Linux上Eclipse的Java路径设置   改型安卓中未触发java超时异常   java我应该下载哪个版本的eclipse?   java中的Date类是否从用户pc计算或检索?   java是死锁吗?为什么会这样?