php里面执行python,在php中执行python
2011-08-25
美国人Jon写了个PiP,Python in Php项目,可以实现在php中调用python。Jon 79年出生在新泽西州,毕业于罗切斯特理工,曾于2002年合写 Professional PHP4 Programming
示例:
1. Evaluating Python Code from PHP
Result
test 1 50 60.4
test 2.208 test
2. Python Object Instantiation
# module.py
class TestClass:
def __init__(self, foo):
self.foo = foo
def returnInt(self):
return 1113
def test(self, a, b = 'str'):
return "a = %d, b = %s" % (a, b)
def returnMe(self):
return self
def returnTuple(self):
return (1, "two", 3.0)
def returnList(self):
return [1, "two", 3.0]
def returnDict(self):
d = {}
d['one'] = 1
d['two'] = 2
d['three'] = 3
return d
def p(self, var):
print var
returnInt() . "n";
print $p->test(1, 'bar') . "n";
print $p->foo . "n";
$p->foo = 987;
print $p->foo . "n";
# $copy points to the same object
$copy = $p->returnMe();
print $copy->foo . "n";
$p->foo = 987;
print $copy->foo . "n";
?>
Result
1113
a = 1, b = bar
435
987
987
987
3. Type Conversion
returnTuple());
var_dump($p->returnList());
var_dump($p->returnDict());
$a = array('one' => 1, 2, 3);
$p->p($a);
class Test {
var $member = 'test';
}
$t = new Test();
$p->p($t);
?>
Result
array(3) {
[0]=>
int(1)
[1]=>
string(3) "two"
[2]=>
float(3)
}
array(3) {
[0]=>
int(1)
[1]=>
string(3) "two"
[2]=>
float(3)
}
array(3) {
["three"]=>
int(3)
["two"]=>
int(2)
["one"]=>
int(1)
}
{'1': 3, '0': 2, 'one': 1}
{'member': 'test'}
不过,如果不采用PiP这样的方式,也可以考虑用php的system()和popen(),proc_open()来调用。
如果要执行用户脚本,一定要注意安全。可以用escapeshellarg()和escapeshellcmd()或类似preg_replace(‘/[^a-zA-Z0-9]/’, ‘’, $str)去掉无关字符。
PiP官方页面:
http://www.csh.rit.edu/~jon/projects/pip/
如非注明转载, 均为原创. 本站遵循知识共享CC协议,转载请注明来源
php里面执行python,在php中执行python相关推荐
- js如何运行python代码_python中执行javascript代码
python中执行javascript代码: 1.安装相应的库,我使用的是PyV8 2.import PyV8 ctxt = PyV8.JSContext() ctxt.enter() func = ...
- python 执行shell 事务_python中执行shell的两种方法总结
一.使用python内置commands模块执行shell commands对Python的os.popen()进行了封装,使用SHELL命令字符串作为其参数,返回命令的结果数据以及命令执行的状态: ...
- java运行python脚本_java中执行python脚本工具类详解
java中执行python脚本工具类,需要jython.jar import java.io.FileInputStream; import java.io.IOException; import j ...
- python中执行sql语句_python中执行sql语句
来源:疯狂的蚂蚁的博客 总结和整理 本文介绍了 Python 操作 MYSQL.执行 SQL 语句.获取结果集.遍历结果集.取得某个字 段.获取表字段名....... (游标 对象)用于执行查询和获取 ...
- php的foreach循环执行过程分析以及循环中执行unset()的一些问题
文章目录 一.前言 二.foreach的执行过程 1.关于版本不同的foreach变化 2.关于引用计数 3.探寻foreach的运行过程 三.foreach中执行unset()的问题 1.当我们是为 ...
- python中文教程-中谷python中文视频教程(全38集)
python在线教学视频教程共40节,中谷教育录制,主要介绍了python编程方面的知识. python在线教学-01-走进python python在线教学-02-开始编程吧 python在线教学- ...
- python中文视频教程-中谷python中文视频教程(全38集)
python在线教学视频教程共40节,中谷教育录制,主要介绍了python编程方面的知识. python在线教学-01-走进python python在线教学-02-开始编程吧 python在线教学- ...
- android studio调用python,Android studio中编写Python代码-2
Chaquopy 教程 Chaquopy Chaquopy的作用:使用Chaquopy在Android Studio添加Python环境,java和Python互调 目前调试后APP可以正常运行(20 ...
- python中执行shell命令_python中执行shell命令的几个方法小结-阿里云开发者社区
Python 执行 shell 命令 最近有个需求就是页面上执行shell命令,第一想到的就是os.system os.system('cat /proc/cpuinfo') 但是发现页面上打印的命令 ...
最新文章
- 拿下斯坦福和剑桥双offer,00后的算法学习之路
- Java 3.基本数据类型
- ipadpro+打开html文件,iPadPro日常基本功能的使用技巧汇总
- mac bash 下使用vi 快捷方式——因为没有alt键 所以没有办法 用vi模式也非常方便的...
- 掌握JAVA多线程的利器-线程池
- CSDN安全设置需改进
- 会话技术Cookie
- 看到这一切,我忍俊不禁
- C++代码 快速排序总结
- mysql读写分离6_6\MySQL 主从同步 、 MySQL 读写分离 、 MySQL 性能调优
- c语言仿宋gb2312字体,仿宋gb2312字体
- 数字宫殿110位数字对照物
- SpringBoot+Vue下载文件Excel、PDF下载后打不开
- windows下python安装basemap,画世界地图以及根据经纬度标点
- CentOS Linux基本命令
- [激光原理与应用-65]:激光器-器件 - 多模光纤(宽频光纤)、单模光纤的原理与区别
- 《深入理解大数据:大数据处理与编程实践》一一1.2 大数据处理技术简介
- 第八章 强制类型转换
- python全栈指的是什么_python全栈指的是什么意思
- nacos访问显示404
热门文章
- Array,Vector,List,Deque的区别与联系【转+改】
- CentOS5.5环境下布署LVS+keepalived
- 一步一步学Silverlight 2系列(35):升级Silverlight 2 Beta 1应用程序到Beta 2
- 热点面试题目—Java异常
- java 中关键字_Java中的关键字
- 产品经理岗位职责说明_公司销售经理岗位职责说明书
- 初中计算机word试题,初中计算机会考word试题WORD11
- 用oracle用户登陆toad,配置Toad连接远程Oracle数据库
- 如何matlab导入邻接矩阵,“excel如何做矩阵“matlab中读取excle中的邻接矩阵
- 测试MM32F3277-MicroPython 2021-11-17 版本