繁体   English   中英

如何获取 python output 并使用 php 打印

[英]How to get python output and print with php

这是我的 python 文件 hi.py:

import pandas as pd
import numpy as np
from sklearn.metrics.pairwise import cosine_similarity
from sklearn.feature_extraction.text import TfidfVectorizer

data = pd.read_csv("C:/xampp/htdocs/product.csv")
data['content'] = data['Brand']+' '+data['Title']+' '+data['Product Type']+' 
'+data['Gender']+' '+data['Price'].astype(str)+' '+data['MRP'].astype(str)+' 
'+data['Rating'].astype(str)

from sklearn.feature_extraction.text import TfidfVectorizer
vectorizer = TfidfVectorizer(max_features=1000)
product_vectors = vectorizer.fit_transform(data['content'].values)


from sklearn.metrics.pairwise import cosine_similarity
similarity = cosine_similarity(product_vectors)

def recommend(content):

 # find  index from dataset
 content_index = data[data['Title'] == content].index[0]

 # finding cosine similarities 
 distances = similarity[content_index]

# sorting cosine similarities
 my_list = sorted(list(enumerate(distances)),reverse=True,key=lambda x:x[1])[1:10]
 dh=[]
#return my_list
 for i in my_list:
    #print(data.iloc[i[0]].Title)
    dh.append(data.loc[i[0]].Title)
     #return dh
print(recommend('Adidas Men Running Shoes'))

我需要在 php localhost 中打印推荐产品列表。 这是我的 php 文件:

<?php
$output=shell_exec('py hi.py');
echo $output;
?>

但是,当我运行 php 文件时,我在 VSCode 中得到了 output,但是当我在本地主机上运行时没有打印任何内容。

可能是什么问题请帮助我。

问题出在您的 PHP 代码中,例如它正在执行命令,但它只返回标准 output stream 给您,这就是错误的原因,因为shell_exec没有重定向错误 stream,因此请修改您的代码如下所示

<?php
$output=shell_exec('py hi.py 2>&1');
echo $output;
?>

显示错误后,您将能够解决您的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM