前言
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
<"\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)
华山资源网 Design By www.eoogi.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
华山资源网 Design By www.eoogi.com
暂无评论...
更新日志
2024年11月15日
2024年11月15日
- 炉石传说月初最强卡组有哪些 2024月初最强上分卡组推荐
- 狼人杀亮相原生鸿蒙之夜 假面科技强势登陆华为生态
- 12小时光线挑战!AI画质专家才是大平层首选
- 2024游戏IP报告:1~9月规模1960亿 68%用户愿为之付费
- 群星.2024-今夜一起为爱鼓掌电视剧原声带【相信音乐】【FLAC分轨】
- BIGFOUR.2013-大家利事【寰亚】【WAV+CUE】
- 李美凤.1992-情深透全情歌集【EMI百代】【WAV+CUE】
- 田震2024-《时光音乐会》[金峰][WAV+CUE]
- 群星《监听天碟3》[LECD]限量版[WAV+CUE]
- 心妤《声如夏花HQ》头版限量编号[WAV+CUE]
- 群星《摇滚五杰》[低速原抓WAV+CUE][1.1G]
- 群星 《2024好听新歌30》十倍音质 U盘音乐 [WAV+分轨]
- 群星《试音草原·女声篇》经典蒙古民歌[WAV+CUE][1G]
- 陈慧娴《永远是你的朋友》头版限量编号MQA-UHQCD2024[低速原抓WAV+CUE]
- 曼丽·女人三十《如果·爱》限量1:1母盘直刻[低速原抓WAV+CUE]