gpt4 book ai didi

php - 在 php 中运行 python 脚本

转载 作者:太空宇宙 更新时间:2023-11-03 17:57:10 24 4
gpt4 key购买 nike

我正在尝试在 php 中运行 python 脚本来测试文件读取,以便我可以继续我的工作并执行更多代码。我尝试使用一个小的 txt 文件和 php 文件,但 python 脚本的输出是一个空字符串。所有文件都在同一目录中,我在 VISTA 操作系统中使用 XAMPP。

php文件

<?php

$validation= exec('python script.py juliodantas.txt') ;
echo $validation ;

var_dump($validation);

?>

Python 文件:(script.py)

#!C:\Python27\python.exe
print "Content-Type: text/html\n"

import sys
fich_input= sys.argv[1]

def test(fich):
input_fil=open(fich,'r')
s=''
cont=0
for line in input_fil:
cont+=1
s+=line
return (line,cont)

test(fich_input)

txt 文件是制表符格式的文件 (juliodantas.txt)

CAS Smiles InchI Mol_name 实验室机构物种 Cell_type 亚细胞 Bio_target 条件 Assay_parameter 观察结果 Assay_ID 菌株组织 target_type 值统一比较 Experimental_error
12233 535 2435d 3r5rg 4t4t 4t 4t34t4 4t4t4 4trgdf vgery4 345y4 grfbg gergh hj6yu wde kukl derj,.i gjyy htht5u thyt5 tht56 thtrj4yeg

php的输出:

string(0) ""

最佳答案

请允许我引用 manual for exec() :

The last line from the result of the command.

您的Python程序打印出“Content-Type:text/html\n”,因此其输出的最后一行是空行。

如果您希望程序的整个输出位于变量中,请使用 exec 的第二个可选参数:

$validation = "";
exec('python script.py juliodantas.txt', $validation);

echo impode("\n", $validation); // should print "Content-Type: text/html\n"

更新:

我之前使用过已弃用(显然现在已删除)的 call-with-pass-by-reference 语法。我真丢脸。另外,显然 exec() 将输出作为基于行的数组返回,因此如果您想将其作为单个字符串,则必须将其加入。

关于php - 在 php 中运行 python 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28325215/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com