当前位置: 首页 > 编程笔记 >

浅谈php调用python文件

宇文飞翮
2023-03-14
本文向大家介绍浅谈php调用python文件,包括了浅谈php调用python文件的使用技巧和注意事项,需要的朋友参考一下

关于PHP调用Python数据传输问题

这是以前大学时做项目出现的问题,现在把它挪上来,希望给遇到问题的未来大佬给出一些小的思路,请大佬们不要大意的帮我改正,如果出现问题或者有更好的解决方法,希望大家可以给出,谢谢!

以前小组开展项目实训,我们小组选择的是大数据分析,其中有一个用python进行文本分析之后对用户输入的数据进行html" target="_blank">分析,然后输出对应的岗位及其他。要求是前端将文本要求传到后台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文件详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对小牛知识库网站的支持!

 类似资料:
  • 本文向大家介绍浅谈PHP中output_buffering,包括了浅谈PHP中output_buffering的使用技巧和注意事项,需要的朋友参考一下 一、我们要说一下php中的缓存大概有哪些! 在PHP中,我们可以粗略的将缓存分为客户端缓存(Browser缓存),服务器端缓存(Server缓存)。由于PHP是基于B/S架构的,所以,我们可以理解为浏览器端的缓存,服务器端缓存。 在服务器端PHP自

  • 本文向大家介绍浅谈window.onbeforeunload() 事件调用ajax,包括了浅谈window.onbeforeunload() 事件调用ajax的使用技巧和注意事项,需要的朋友参考一下 经常有这样的需求,就是在离开某个web页面时,用户不一定点注销,这样会导致会话不能及时销毁。为实现用户离开页面时,自动注销功能,需要在web页面的onbeforeunload事件处理函数中发送注销命令

  • 本文向大家介绍浅谈php命令行用法,包括了浅谈php命令行用法的使用技巧和注意事项,需要的朋友参考一下 Php是一个非常流行的web服务端脚本语言。其实,php不仅仅可以在web服务器中充当重要角色。在命令行一样可以执行。 本文中,笔者为各位介绍下php在命令行中的使用方法。 1、  查看php的版本、配置 在命令行中输入php –v 即可查看当前php的版本。 其他的选项有: –m、-i。笔者在

  • 本文向大家介绍浅谈PHP调用Webservice思路及源码分享,包括了浅谈PHP调用Webservice思路及源码分享的使用技巧和注意事项,需要的朋友参考一下 方法一:直接调用 方法二:代理方式调用   许多使用NuSoap 调用.NET WebService或J2EE  WebService的朋友可能都遇到过中文乱码问题,下面介绍这一问题的出现的原因和相应的解决方法。   NuSoap调用Web

  • 本文向大家介绍浅谈php扩展imagick,包括了浅谈php扩展imagick的使用技巧和注意事项,需要的朋友参考一下 PHP建图通常都用GD库,因为是内置的不需要在服务器上额外安装插件,所以用起来比较省心,但是如果你的程序主要的功能就是处理图像,那麼就不建议用GD了,因为GD不但低效能而且能力也比较弱,佔用的系统资源也颇多,另外GD的creatfrom也有bug,而imagick却是一个很好的替

  • 本文向大家介绍浅谈python迭代器,包括了浅谈python迭代器的使用技巧和注意事项,需要的朋友参考一下 1、yield,将函数变为 generator (生成器) 例如:斐波那契数列 2、Iterable 所有可以使用for循环的对象,统称为 Iterable (可迭代) 3、Iterator 可以使用next() <__next__()> 函数调用并且不断返回下一个值的对象成为 Iterat