php调用python脚本
主要参考两篇文章
PHP中的换行详解
利用PHP调试Python
Python小窥 - 写给Python的入门者
这两篇文章结合起来进行测试,主要过程如下
cd /var/www/html
mkdir script
nano script/test.py
#粘贴代码
nano test002.php
#粘贴代码
期间主要遇到的问题有
php文件里面的路径/script/test.py,改为script/test.py,作者显然在根目录添加的目录
php换行的实现,想实现,本来用\n,结果失败,于是用<br>,搞定,实现结果如下图

继续修改,发现对于连续迭代语句无法正常打印数据,具体还没查询原因,猜测是由于python本身报错,可以本地运行脚本测试。
另外的测试是中文支持情况,发现中文的时候网页全部空白,显然就是报错了,本来以为是php对中文支持的不好,于是修改了,添加了中文支持,发现情况依旧,于是本地测试python的中文支持情况,发现不支持,按照报错信息
Non-ASCII character '\xe8' in file test.py on line 9, but no encodi
查询解决方法。原来需要开头添加utf8的支持,添加行注释搞定,最终的php脚本内容为
<?php
#header("Content-type: text/html; charset=utf-8");
$output = shell_exec('python script/test.py'); $array = explode(',', $output); foreach ($array as $value) {
#echo "\n";
echo $value;
echo "<br>";
}
?>
python内容为
# coding=utf-8
print 'this is a Python program with PHP,'
#print '\n'
print "22,"
print "21,"
print "26,"
print "22,"
print "21,"
print 'Write a program that prints the numbers from 1 to 100. But for multiples of three print "Fizz" instead of the number and for the multiples of five $
print '要求:打印1到100,遇到3的倍数,只打印“Fizz”,遇到5的倍数,打印“Buzz”,同时遇到3,5的倍数,打印“FizzBuzz”,'
for x in range(1,101):print"Fizz"[x%3*4:]+"Buzz"[x%5*4:]or x
print ","
for x in range(1,11):print"qiangge_is_god"[x%3*14:]+"i_can't_believe_it"[x%5*18:]or x
print ","
False = True
if False:
print "Hello"
else:
print "World"
print ','
最后显示的效果图

php调用python脚本的更多相关文章
- linux+php+apache web调用python脚本权限问题解决方案
lamp : linux + apache + mysql + php 在上篇随笔中linux+php+apache调用python脚本时出现的问题的根本原因是:apache运行时使用的apache用 ...
- linux+php+apache web调用python脚本权限问题
lamp : linux + apache + mysql + php 在近期项目中使用 linux + apache + php调用python脚本是出现以下权限问题: build/bdist.li ...
- PHP 调用Python脚本
上次做用户反馈自动翻译,写了个python脚本,将日文的用户反馈翻译成中文,效果虽然可以,但其它不懂python的童鞋就没法使用了,所以搭了个web服务,让其他人可以通过网页访问查询.使用的是apac ...
- C++中调用Python脚本
C++中调用Python脚本的意义就不讲了,至少你可以把它当成文本形式的动态链接库, 需要的时候还可以改一改,只要不改变接口, C++的程序一旦编译好了,再改就没那么方便了 先看Python的代码 代 ...
- java调用python脚本并向python脚本传递参数
1.安装Eclipse 先安装jdk,再安装Eclipse,成功后开始建立py_java项目,在这个项目的存储目录SRC下建立test包,在test包中New-Class,新建MyDemo类,建好完成 ...
- Window环境下,PHP调用Python脚本
参考 php调用python脚本*** php 调用 python脚本的方法 解决办法:php提供了许多调用其他脚本或程序的方法,比如exec/system/popen/proc_open/passt ...
- (转)java调用python脚本
这篇博客旨在吐血分享今天遇到的java调用python脚本遇到的坑,折腾了3个多小时终于可以跑通了,代码超级短,但网上的好多资料都是抄来抄去的,很少有能够直接跑通的,尤其是针对你的python文件中用 ...
- C#调用Python脚本的简单示例
C#调用Python脚本的简单示例 分类:Python (2311) (0) 举报 收藏 IronPython是一种在 .NET及 Mono上的 Python实现,由微软的 Jim Huguni ...
- zabbix 调用python脚本监控 磁盘剩余空间(创建模版,创建监控项,创建触发器)
主要 记录一下 使用zabbix 自己创建模版.监控项.触发器,并调用python脚本. 需求: 监控备份机磁盘剩余空间(windows系统) 一.安装zabbix_agent 比较简单 修改配置文 ...
- Java调用Python脚本并获取返回值
在Java程序中有时需要调用Python的程序,这时可以使用一般的PyFunction来调用python的函数并获得返回值,但是采用这种方法有可能出现一些莫名其妙的错误,比如ImportError.在 ...
随机推荐
- Oracle 重要知识点
这些是最简单的,理解这些再去看其他的高深一点的吧....... 游标 oracle里面的游标分为四种情况,分别是LOOP循环,FOR循环,删除,更新 1.LOOP循环 检索EMP表.使用LOOP循环语 ...
- RESTful记录-RESTful介绍
RESTful Web服务是基于REST架构的Web服务.在REST架构一切都是一种资源. RESTful Web服务是轻量级的,高度可扩展性和可维护性,并且非常常用于创建基于API的Web应用程序. ...
- [转载]HTML5 真的会消灭原生App吗?
http://mp.weixin.qq.com/s?__biz=MzA5NjQ4MzkyMw==&mid=201728945&idx=1&sn=8f43b5bb10695efc ...
- 雨林木风ghostwin7纯净版系统下载
雨林木风ghostwin7纯净版系统下载 关于easyuidatagrid的问题,跪求老司机带带我..... 关于cst_modesys/stat.h一个问题求解答谢谢 [程序]STM32使用SPI接 ...
- 20145234黄斐《Java程序设计》第八周
教材学习内容总结 第十四章-NIO与NIO2 NIO与IO的区别 NIO Channel继承框架 想要取得Channel的操作对象,可以使用Channels类,它定义了静态方法newChannel() ...
- 20155215 2016-2017-2 《Java程序设计》第8周学习总结
20155215 2016-2017-2 <Java程序设计>第7周学习总结 教材学习内容总结 第十四章 NIO使用频道(Channel)来衔接数据节点.在处理数据时,NIO可以让你设置缓 ...
- Vue.js几个简单用法
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- Linux - trap 命令
trap 命令用于指定在接收到信号后将要采取的动作,常见的用途是在脚本程序被中断时完成清理工作.当shell接收到sigspec指定的信号时,arg参数(命令)将会被读取,并被执行. trap 信号参 ...
- MySQL常见的两种存储引擎:MyISAM与InnoDB的爱恨情仇
Java面试通关手册(Java学习指南,欢迎Star,会一直完善下去,欢迎建议和指导):https://github.com/Snailclimb/Java_Guide 一 MyISAM 1.1 My ...
- Debian/Ubuntu安装WPS (转)
卸载libreoffice sudo apt-get remove --purge libreoffice* 官网下载WPShttp://wps-community.org/downloads?vl= ...