浅谈php调用python文件
作者:时光不遇拾光 发布时间:2024-05-05 09:31:42
关于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文件详解整合网站的支持!
来源:https://blog.csdn.net/sinat_33916407/article/details/88559014


猜你喜欢
- 两个多月来唯一一次有时间哄么么睡觉,我先给他讲了遍《从前有座山》,还是不睡。又给他讲了这个“保安的故事”:小A是名很敬业的保安,负责保护客户
- property属性一种用起来像是使用实例属性一样的特殊属性,可以对应于某个方法既要保护类的封装特性,又要让开发者可以使用 对象.属性 的方
- 本文实例讲述了Go语言map字典用法。分享给大家供大家参考。具体分析如下:这段代码生成了青岛、济南、烟台三个城市拼音和汉字的对照字典,根据拼
- 1.C++ 代码Demo.h#pragma oncevoid GeneratorGaussKernel(int ksize, float s
- Sql中in和not in中有null值的情况1)in的逻辑规则是or not in 的逻辑规则是 and2)判断null 的sql语句为
- 如下所示:import urllib.requestimport urllib.parseurl = 'https://weibo.
- 使用TensorFlow模块时,弹出错误Your CPU supports instructions that this TensorFlo
- 您可能听说过,带有 yield 的函数在 Python 中被称之为 generator(生成器),何谓 generator ?我们先抛开 g
- 继SQl -Function创建函数数据库输出的结果用逗号隔开,在开发中也有许多以参数的形式传入带逗号字条串参数(数据大时不建议这样做)例:
- 1.sort.Sort介绍使用sort.Slice进行排序,因为slice把struct抽象化了,且slice封装过了,简单的基础类型可以使
- 示例:mysql> DELIMITER //mysql> CREATE PROCEDURE `statis`()
- Mac安装python3环境首先我先给说明一下:我也是初次接触python,有一定的Java基础,对编程语法有一定基础,当然小菜在这里全当小
- 1 concatconcat函数是在pandas底下的方法,可以将数据根据不同的轴作简单的融合pd.concat(objs, axis=0,
- 如果视图定义包括条件(譬如 WHERE 子句)并且其意图是确保任何引用该视图的 INSERT 或 UPDATE 语句都应用 WHERE 子句
- 因为有把python程序打包成exe的需求,所以,有了如下的代码import timeclass LoopOver(Exception):
- asp正则表达式检测字符串是否是数字及字母。<% '函数:CheckString(strng) '
- 或者说有一条命令 hostname [string],当string是不包含2950时,是true,包含2950时是false。使用Exce
- 1.文件的写入和读取#!/usr/bin/python # -*- coding: utf-8 -*- # Filename: using_
- 前言在MySQL很多测试场景,需要人工生成一些测试数据来测试。本文提供一个构造MySQL大表存储过程,可以生成包含用户名,手机号码,出生日期
- 对于爬虫中部分网站设置了请求次数过多后会封杀ip,现在模拟浏览器进行爬虫,也就是说让服务器认识到访问他的是真正的浏览器而不是机器操作简单的直