前言

python调用php代码实现思路:php文件可通过在terminal中使用php命令行进行调用,因此可使用python开启子进程执行命令行代码。函数所需的参数可通过命令行传递。

测试环境

1、操作系统:macos10.13.2

2、php版本:PHP 7.1.7(mac自带)

3、python版本:python3.6.0

4、python库:subprocess

调用php函数

php命令行调用php文件中的函数

php文件:test_hello.php

function hello_world($s1)

{

$str1 = $s1;

echo $str1;

echo "\n";

}

function hello_world2($s1, $s2)

{

$str1 = $s1;

$str2 = $s2;

echo $s1;

echo "**********";

echo $s2;

echo "\n";

}

// 获取参数,索引为0为调用的文件路径,索引为1为调用的函数,索引为2为函数传入参数$s1,索引为3为函数参数$s2

var_dump($argv);

// exit;

// 调用函数

$func_name = $argv[1];

if ($func_name == "hello_world")

{

// 参数1

$param1 = $argv[2];

hello_world($param1);

}

elseif ($func_name == "hello_world2")

{

// 参数1

$param1 = $argv[2];

// 参数2

$param2 = $argv[3];

hello_world2($param1, $param2);

}

else

{

echo "the function $func_name is not exist !";

}

?>

terminal执行php命令

# 字符串中包含空格、逗号、反斜杠,需要使用""来确定为1个参数

php -f test_hello.php hello_world "My name is John\\, age is 20."

php -f test_hello.php hello_world2 "My name is John\\, age is 20." "My hometown is BaoDing."

php -f test_hello.php hello_world3 "My name is John\\, age is 20."

执行结果

python子进程执行php命令行

python文件:test.py,将test_hello.php与test.py放在同目录下运行

import subprocess

class Test(object):

def run(self, cmd):

proc = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE) # 开启子进程

res = proc.stdout.read()

if res:

res = res.decode()

return res

cmd1 = 'php -f test_hello.php hello_world "My name is John\\, age is 20."'

cmd2 = 'php -f test_hello.php hello_world2 "My name is John\\, age is 20." "My hometown is BaoDing."'

cmd3 = 'php -f test_hello.php hello_world3 "My name is John\\, age is 20."'

obj = Test()

for i in [cmd1, cmd2, cmd3]:

res = obj.run(cmd1)

print(res)

print("*" * 10)

到此这篇关于python如何调用php文件中函数的文章就介绍到这了,更多相关python调用php函数内容请搜索站圈网以前的文章或继续浏览下面的相关文章希望大家以后多多支持站圈网!

python echo函数_python如何调用php文件中的函数详解相关推荐

  1. python调用js库中的函数_Python 调用JS文件中的函数

    Python 调用JS文件中的函数 1.安装PyExecJS第三方库 2.导入库:import execjs 3.调用JS文件中的方法 Passwd = execjs.compile(open(r&q ...

  2. python调用php命令行,python调用php函数 python怎样调用php文件中的函数详解

    前言 python调用php代码实现思路:php文件可通过在terminal中使用php命令行进行调用,因此可使用python开启子进程执行命令行代码.函数所需的参数可通过命令行传递. 测试环境 1. ...

  3. python调用php_python如何调用php文件中的函数详解

    前言 python调用php代码实现思路:php文件可通过在terminal中使用php命令行进行调用,因此可使用python开启子进程执行命令行代码.函数所需的参数可通过命令行传递. 测试环境 1. ...

  4. FLV文件中VideoPacket的详解

    FLV文件中VideoPacket的详解 众所周知,FLV文件体主要有三种Tag组成:AUDIODATA.VIDEODATA和SCRIPTDATA,其中SCRIPTDATA中包含了MetaData,通 ...

  5. NT的BOOT.INI文件中ARC命名详解(转)

    NT的BOOT.INI文件中ARC命名详解(转)[@more@] ARC命名是Windows NT系统用来定位其引导分区所在的路径,也就是利用它指明引导分区在哪一个磁盘控制器,哪一个硬盘,哪一个分区内 ...

  6. python调用其他文件中的函数或者类

    1 .在同一个文件夹下,调用函数或者类 A.py文件中 def test():print('this is test func')class A:def test():print('this is a ...

  7. VC6中调用.dll文件中的函数——傻瓜式教程

    决这一问题上的 帮助. 先声明下,我此前从未涉及过Windows 下的编程,所以对于懂了这么点东西就要写篇文章, 大家可不要鄙视啊. 实际上,写这篇文章的最主要原因是,我觉得调用.dll 文件里的函数 ...

  8. python读取一行的函数_Python linecache.getline()读取文件中特定一行的脚本

    Python linecache.getline()读取文件中特定一行的脚本 比如: Code highlighting produced by Actipro CodeHighlighter (fr ...

  9. python process 函数_Python Process创建进程的2种方法详解

    前面介绍了使用 os.fork() 函数实现多进程编程,该方法最明显的缺陷就是不适用于 Windows 系统.本节将介绍一种支持 Python 在 Windows 平台上创建新进程的方法. Pytho ...

最新文章

  1. VS 2019要来了,是时候了解一下C# 8.0新功能
  2. python学习笔记(八)——继承
  3. 使用docker开启nginx
  4. JDK 12附带紧凑数字格式
  5. 工业控制系统ICS网络安全简析
  6. vega56刷64_Vega56刷入BIOS跑分直逼旗舰Vega64
  7. 反射生成 INSERT 多个对象的 SQL 语句(批量插入)
  8. HCIE-Security Day25:DSPN+NHRP+Mgre:实验(四)配置shortcut方式DSPN(OSPF路由协议)
  9. 【渝粤教育】国家开放大学2018年春季 3722-21T燃气输配工程 参考试题
  10. 39. Element compareDocumentPosition() 方法
  11. 关于办公室打印机纸张方向的问题
  12. gps天线拆解图片_GPS天线原理解析
  13. Could not mount the media/drive ‘D:\......./VBoxGuestAdditions.iso‘ (VERR_PDM_MEDIA_LOCKED)
  14. [日常]wps插入页眉页脚
  15. 那些年震撼我们心灵的音乐
  16. python打开csv文件、计算总成绩_python – 读取CSV文件,计算平均值并打印所述平均值...
  17. Fabric Block区块结构解析
  18. 国网大数据中心是如何进行数据治理的?
  19. [高项]关键路径法VS关键链法
  20. 图片尺寸px怎么转换成厘米?在线图片尺寸换算工具怎么用?

热门文章

  1. Blazor正式成为Microsoft官方.NET 和WebAssembly项目
  2. Alex: 2018年对混合现实MR的展望
  3. 如何将 Microsoft Bot Framework 链接至微信公共号
  4. 程序员求职面试三部曲之一:选择合适的工作单位
  5. springboot单例模式注入对象_Spring 中经典的 9 种设计模式,打死也要记住啊!
  6. 【MATLAB统计分析与应用100例】案例014:matlab读取Excel数据,调用stepwise函数作交互式逐步回归分析
  7. IOS之Xcode之快捷键
  8. (上)python3 selenium3 从框架实现代码学习selenium让你事半功倍
  9. 没有主清单属性_原神:晴知的主C诺艾尔大型进阶攻略初版
  10. 电脑测速软件_网速慢,怎么办,教你测速,教你解决方案