簡體   English   中英

如何通過shell_exec將PHP變量值傳遞給Python

[英]How to pass PHP variable values to Python via shell_exec

我在PHP文件中定義了一些變量。 然后,我使用這些變量作為參數從PHP調用python腳本。 the values of the variables do not carry over to my python script, it seems as though they as passed as strings and not as variables: 變量的值不會傳遞到我的python腳本中,似乎它們作為字符串而不是作為變量傳遞:

$first = "doggy";
$second = "kitty";

$command = escapeshellcmd('python ./script.py $first $second');
$output = shell_exec($command);

上面的代碼在我的Python腳本中分別不會產生“ doggy”和“ kitty”,而實際上是“ $ first”和“ $ second”。 我要小狗和小貓。

例如,當我使用Python打印時:

print sys.argv[1];
>>$first

是我收到的輸出。

我的Python腳本未輸出任何內容,該腳本與希望與這些變量一起使用的API進行了交互。

我嘗試過這些以前的帖子,這些帖子似乎與我要問的差不多。 我不是不了解他們,或者他們沒有工作。 有些答案太技術性或太含糊。

將值從PHP腳本傳遞到Python腳本

PHP <-> Python變量交換

如果shell_exec並非實現此目的的最佳方法,那么我願意接受新的想法。 任何和所有幫助表示贊賞。 感謝您抽出寶貴的時間來查看我的帖子。

單引號的字符串將按字面顯示,而雙引號的字符串將解釋變量和換行符(\\ n)之類的內容。

因此,從單引號改為雙引號:

$command = escapeshellcmd("python ./script.py $first $second");

在PHP手冊中閱讀有關字符串的更多信息: http : //se1.php.net/manual/en/language.types.string.php

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM