pythonはどのようにphpファイルの関数を呼び出しますか?
前言
pythonはphpコードを呼び出して構想を実現します。phpファイルはterminalでphpコマンドラインを使って呼び出すことができますので、pythonを使ってサブプロセスを開いてコマンドラインコードを実行することができます。関数に必要なパラメータは、コマンドラインで伝達されます。
テスト環境
1、オペレーティングシステム:macos 10.13.2
2、phpバージョン:PHP 7.1.7(macは持参)
3、pythonバージョン:python 3.6.0
4、pythonライブラリ:subprocess
php関数を呼び出します
phpコマンドラインは、phpファイルの関数を呼び出します。
phpファイル:test_hello.php
python子プロセス実行phpコマンドライン
pythonファイル:test.py、test_hello.phpとtest.pyを同じディレクトリに置いて実行します。
ここでは、pythonがどのようにphpファイルの関数を呼び出すかについての記事を紹介します。より多くの関連pythonがphp関数の内容を呼び出します。以前の記事を検索してください。または、下記の関連記事を引き続きご覧ください。これからもよろしくお願いします。
pythonはphpコードを呼び出して構想を実現します。phpファイルはterminalでphpコマンドラインを使って呼び出すことができますので、pythonを使ってサブプロセスを開いてコマンドラインコードを実行することができます。関数に必要なパラメータは、コマンドラインで伝達されます。
テスト環境
1、オペレーティングシステム:macos 10.13.2
2、phpバージョン:PHP 7.1.7(macは持参)
3、pythonバージョン:python 3.6.0
4、pythonライブラリ:subprocess
php関数を呼び出します
phpコマンドラインは、phpファイルの関数を呼び出します。
phpファイル:test_hello.php
<?php
function hello_world($s1)
{
$str1 = $s1;
echo $str1;
echo "
";
}
function hello_world2($s1, $s2)
{
$str1 = $s1;
$str2 = $s2;
echo $s1;
echo "**********";
echo $s2;
echo "
";
}
// , 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関数の内容を呼び出します。以前の記事を検索してください。または、下記の関連記事を引き続きご覧ください。これからもよろしくお願いします。