当前位置: 首页 > 面试题库 >

从PHP调用Python并获取返回码

堵才哲
2023-03-14
问题内容

我正在从PHP调用python脚本。

python程序必须根据传递给它的参数返回一些值。

这是一个示例python程序,它将为您提供我目前正在做的基本想法:

#!/usr/bin/python
import sys

#get the arguments passed
argList = sys.argv

#Not enough arguments. Exit with a value of 1.
if len(argList) < 3:
    #Return with a value of 1.
    sys.exit(1)

arg1 = argList[1]
arg2 = argList[2]

#Check arguments. Exit with the appropriate value.
if len(arg1) > 255:
    #Exit with a value of 4.
    sys.exit(4)
if len(arg2) < 2:
    #Exit with a value of 8.
    sys.exit(8)

#Do further coding using the arguments------

#If program works successfully, exit with a value of 0

从上面的代码中可以看到,我的基本目标是

  1. 让python程序根据参数返回一些值(0、1、4、8等)。
  2. 然后,调用PHP的程序访问这些返回的值并执行适当的操作。

目前,我已经为此目的使用了“ sys.exit(n)”。

我使用sys.exit是否正确,还是需要使用其他东西?

还有PHP中存在什么方法,以便我可以从python访问返回html" target="_blank">代码?

很抱歉,这个问题很长,但希望它能帮助您了解我的困境

万分感谢


问题答案:

在PHP中,您可以执行命令并使用返回代码exec

的手册进行exec说,第三个参数是在返回代码将被存储在可变的,例如

exec('python blibble.py', $output, $ret_code);

$ret_code将是外壳程序的返回码,并且$output是打印到std的文本行的数组。输出。

这确实适合您所描述的返回码,即0表示成功,而> 0是各种错误类型的代码。



 类似资料:
  • 问题内容: 我正在从PHP调用python脚本。 python程序必须根据传递给它的参数返回一些值。 这是一个示例python程序,它将为您提供我目前正在做什么的基本概念: 从上面的代码中可以看到,我的基本目标是 以便python程序根据参数返回一些值(0、1、4、8等)。 然后,调用PHP的程序访问这些返回的值并执行适当的操作。 目前,我已经为此目的使用了“ sys.exit(n)”。 我使用s

  • 问题内容: 我正在编写Go程序。从这个Go程序中,我想调用另一个文件中定义的Python函数并接收该函数的返回值,以便可以在Go程序的后续处理中使用它。我在将所有返回的数据恢复到我的Go程序时遇到了麻烦。以下是我认为可行的最低示例,但显然无效: gofile.go pythonfile.py 如果我打电话,我得到以下输出: 一些注意事项: 我在Python调用中使用该标志,因此可以直接调用该函数。

  • 问题内容: 我想从C中调用一个在python模块中定义的自定义函数。我有一些初步的代码可以做到这一点,但是它只是将输出打印到stdout。 mytest.py 测试文件 如何将返回值提取到C double中并在C中使用它? 问题答案: 如前所述,使用PyRun_SimpleString似乎是个坏主意。 您绝对应该使用C- API(http://docs.python.org/c-api/)提供的方

  • 问题内容: 如何从作为Tkinter回调执行的函数中获取返回的对象? 显然,这是一个简化的示例。实际上,按钮调用的函数将返回对象,我希望将这些对象附加到将保留在主Python名称空间中的对象列表中,以进行进一步的操作。 无论如何,在这里用户可以使用GUI选择该函数的自变量,然后按下将执行该函数的按钮。但是,该函数的返回值似乎注定会丢失给以太,因为回调函数将不接受返回值。在不使用丑陋的定义的情况下可

  • 问题内容: 我想使用函数在ajax调用中获取值。但是该值始终返回未定义状态。返回值仅为1或0。 这是我的代码: 大家好,仍在努力完成这项工作。我现在得到的值显示为1或0。我现在想要完成的是如何在if语句中实现它。我想吃点这样的东西。如果val=0,则返回true;否则,返回true。否则返回假。我不确定我是否在使用ajax函数的正确轨道上。但是,如果有更好的方法可以告诉我,我将不胜感激。 问题答案

  • 考虑这个代码 我做了一个包装器来延迟的方法调用是否有办法从setTimeout内部的回调中检索值,即从?