十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
小编给大家分享一下php调用python文件的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
成都创新互联公司专注于太原企业网站建设,响应式网站开发,电子商务商城网站建设。太原网站建设公司,为太原等地区提供建站服务。全流程专业公司,专业设计,全程项目跟踪,成都创新互联公司专业和态度为您提供的服务关于PHP调用Python数据传输问题
这是以前大学时做项目出现的问题,现在把它挪上来,希望给遇到问题的未来大佬给出一些小的思路,请大佬们不要大意的帮我改正,如果出现问题或者有更好的解决方法,希望大家可以给出,谢谢!
以前小组开展项目实训,我们小组选择的是大数据分析,其中有一个用python进行文本分析之后对用户输入的数据进行分析,然后输出对应的岗位及其他。要求是前端将文本要求传到后台php,php调用python程序处理,再将数据传给php,然后再传到前端,进行下一步处理。结果python传回的数据,在前端显示乱码了,而且得出的结果与单独运行python代码完全不同,一句话,就是php调用python程序期间出错了。
我很认真的检查了好几遍,确定自己php和python所有的编码都是用的utf-8编码,所以这一点是毋庸置疑的,那么问题究竟出在哪呢?php调用python语句是
$job = "有责任心,擅长JAVA";//传入的文本信息
$area = 'E:/text/sim_str.py';//Python程序的地址
$cmd = system("python3 $area 2>C:/Users/Administrator/Desktop/2.txt $job",$ret);//2>是将报错内容定位到这个文件,$ret是一个返回参数,0是正常,1是出错。
最后经过多次的测试,我发现传过去时对文字的编码出现了问题,应该不是UTF-8编码了。有位大神说,这是因为windows系统会自己对传输的信息进行再次编码。然后 我想直接改编码,结果这个python3编码改变出现了问题。最后我的解决方案是不通过系统传送,而是直接通过第三方数据库。双方都调用数据库。一切都可以解决了。
PS:后来又遇见过这种问题,我将python代码进行了修改,让它最终可以直接只传递数字,再在前端对数字进行判断。
以上是“php调用python文件的方法”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!