【问题标题】:Passing value from PHP script to Python script将值从 PHP 脚本传递到 Python 脚本
【发布时间】:2011-06-26 00:22:25
【问题描述】:

我查看了与此类似的其他问题,但仍然无法弄清楚。

我有一个基本的 php 文件可以做到这一点:


?php
$item='example';
$tmp = exec("python testscriptphp.py .$item");
echo $tmp;
?

虽然成功调用了我在我的 webhostserver 上运行的 python。现在在我的 python 脚本中,我想要这样的东西:


item=$item
print item

基本上我在问如何将变量从 PHP 传递到 python 脚本,然后在必要时返回到 php。

谢谢!

【问题讨论】:

标签: php python variables exec


【解决方案1】:

虽然 netcoder 在他的评论中几乎给了你答案,但这里有一个例子:

Python->PHP

example.py

import os
os.system("/usr/bin/php example2.php whatastorymark")

example2.php

<?php
    echo $argv[1];

?>

PHP->Python

<?php
    $item='example';
    $tmp = exec("python testscriptphp.py .$item");
    echo $tmp;

?>

testscriptphp.py

import sys
print sys.argv[1]

以下是 PHP 命令行参数传递的工作原理:http://php.net/manual/en/reserved.variables.argv.php Python 也一样:http://docs.python.org/library/sys.html#sys.argv

【讨论】:

  • 是否可以更新变量而不是回显?从python到php?
  • @ravi 我想,$argv[1] = 1234;
【解决方案2】:

编写一个php文件示例index.php:

<?PHP
$sym = $_POST['symbols'];
echo shell_exec("python test.py .$sym");
?>

$sym 是我们传递给 test.py python 文件的参数。 然后创建一个python示例test.py:

import sys
print(sys.argv[1])

希望对你有帮助。

【讨论】:

    【解决方案3】:

    在 php 文件中

     $a = "..\Python\Python39\python.exe  ../frontend/upload/main.py '$param1''$param2'";
    
     $output = shell_exec($a);
    
     echo $output;
    
     ..\Python\Python39\python.exe 
    

    我系统中的python路径,你可以随你的路径改变

     ../frontend/upload/main.py      
    

    这是我的python脚本路径

    在 python 文件中

    import sys
    
    param_1_ = sys.argv[1]
    param_2=  sys.argv[2]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-02-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多