最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python如何調(diào)用php文件中的函數(shù)詳解

 更新時(shí)間:2020年12月29日 10:46:57   作者:xiaofeiyuan  
這篇文章主要給大家介紹了關(guān)于python如何調(diào)用php文件中函數(shù)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

前言

python調(diào)用php代碼實(shí)現(xiàn)思路:php文件可通過(guò)在terminal中使用php命令行進(jìn)行調(diào)用,因此可使用python開(kāi)啟子進(jìn)程執(zhí)行命令行代碼。函數(shù)所需的參數(shù)可通過(guò)命令行傳遞。

測(cè)試環(huán)境

1、操作系統(tǒng):macos10.13.2

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

3、python版本:python3.6.0

4、python庫(kù):subprocess

調(diào)用php函數(shù)

php命令行調(diào)用php文件中的函數(shù)

php文件:test_hello.php

<?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";
}

// 獲取參數(shù),索引為0為調(diào)用的文件路徑,索引為1為調(diào)用的函數(shù),索引為2為函數(shù)傳入?yún)?shù)$s1,索引為3為函數(shù)參數(shù)$s2

var_dump($argv);
// exit;

// 調(diào)用函數(shù)
$func_name = $argv[1];


if ($func_name == "hello_world")
{
	// 參數(shù)1
	$param1 = $argv[2];
	hello_world($param1);
}
elseif ($func_name == "hello_world2")
{
	// 參數(shù)1
	$param1 = $argv[2];
	// 參數(shù)2
	$param2 = $argv[3];
 hello_world2($param1, $param2);
}
else
{
 echo "the function $func_name is not exist !";
}

?>

terminal執(zhí)行php命令

# 字符串中包含空格、逗號(hào)、反斜杠,需要使用""來(lái)確定為1個(gè)參數(shù)
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."

執(zhí)行結(jié)果

python子進(jìn)程執(zhí)行php命令行

python文件:test.py,將test_hello.php與test.py放在同目錄下運(yùn)行

import subprocess


class Test(object):
 def run(self, cmd):
 proc = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE) # 開(kāi)啟子進(jìn)程
 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)

到此這篇關(guān)于python如何調(diào)用php文件中函數(shù)的文章就介紹到這了,更多相關(guān)python調(diào)用php函數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python實(shí)現(xiàn)類(lèi)之間的方法互相調(diào)用

    python實(shí)現(xiàn)類(lèi)之間的方法互相調(diào)用

    下面小編就為大家分享一篇python實(shí)現(xiàn)類(lèi)之間的方法互相調(diào)用,具有很的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04
  • python獲取從命令行輸入數(shù)字的方法

    python獲取從命令行輸入數(shù)字的方法

    這篇文章主要介紹了python獲取從命令行輸入數(shù)字的方法,涉及Python操作命令行輸入的相關(guān)技巧,需要的朋友可以參考下
    2015-04-04
  • python合并多個(gè)excel的詳細(xì)過(guò)程

    python合并多個(gè)excel的詳細(xì)過(guò)程

    合并需求很多,常見(jiàn)的有相同數(shù)據(jù)結(jié)構(gòu),按行進(jìn)行縱向拼接,下面這篇文章主要給大家介紹了關(guān)于python合并多個(gè)excel的相關(guān)資料,需要的朋友可以參考下
    2022-10-10
  • Python使用flask框架操作sqlite3的兩種方式

    Python使用flask框架操作sqlite3的兩種方式

    這篇文章主要介紹了Python使用flask框架操作sqlite3的兩種方式,結(jié)合實(shí)例形式分析了Python基于flask框架操作sqlite3數(shù)據(jù)庫(kù)的兩種常用操作技巧,需要的朋友可以參考下
    2018-01-01
  • 詳解python列表生成式和列表生成式器區(qū)別

    詳解python列表生成式和列表生成式器區(qū)別

    這篇文章主要介紹了python(列表生成式/器),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • Python?獲取指定開(kāi)頭指定結(jié)尾所夾中間內(nèi)容(推薦)

    Python?獲取指定開(kāi)頭指定結(jié)尾所夾中間內(nèi)容(推薦)

    獲取文章中指定開(kāi)頭、指定結(jié)尾中所夾的內(nèi)容。其中,開(kāi)頭和結(jié)尾均有多種,但最多也就十幾種,所以代碼還是具有可行性的,今天小編給大家介紹通過(guò)Python?獲取指定開(kāi)頭指定結(jié)尾所夾中間內(nèi)容,感興趣的朋友一起看看吧
    2023-02-02
  • python多行字符串拼接使用小括號(hào)的方法

    python多行字符串拼接使用小括號(hào)的方法

    今天小編就為大家分享一篇python多行字符串拼接使用小括號(hào)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07
  • python實(shí)現(xiàn)簡(jiǎn)單溫度轉(zhuǎn)換的方法

    python實(shí)現(xiàn)簡(jiǎn)單溫度轉(zhuǎn)換的方法

    這篇文章主要介紹了python實(shí)現(xiàn)簡(jiǎn)單溫度轉(zhuǎn)換的方法,涉及Python操作字符串的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-03-03
  • 解決django同步數(shù)據(jù)庫(kù)的時(shí)候app models表沒(méi)有成功創(chuàng)建的問(wèn)題

    解決django同步數(shù)據(jù)庫(kù)的時(shí)候app models表沒(méi)有成功創(chuàng)建的問(wèn)題

    今天小編就為大家分享一篇解決django同步數(shù)據(jù)庫(kù)的時(shí)候app models表沒(méi)有成功創(chuàng)建的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-08-08
  • Python中生成Epoch的方法

    Python中生成Epoch的方法

    下面小編就為大家?guī)?lái)一篇Python中生成Epoch的方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-04-04

最新評(píng)論

靖州| 贞丰县| 保定市| 奇台县| 长岛县| 当阳市| 大邑县| 娄底市| 怀远县| 永修县| 政和县| 福鼎市| 敦化市| 榆社县| 建湖县| 平乡县| 稻城县| 慈利县| 辛集市| 娱乐| 营山县| 苏尼特左旗| 根河市| 广南县| 宾阳县| 嘉兴市| 乌恰县| 九龙县| 金湖县| 荣昌县| 岢岚县| 会昌县| 连山| 东山县| 察雅县| 建德市| 西充县| 张家港市| 泸定县| 萨迦县| 丽江市|