我想将复选框值传递到python脚本并添加到列表中
我的php文件:
<form action="index.php" method="post">
Which buildings do you want access to?<br />
<input type="checkbox" name="formDoor[]" value="Acorn" />Acorn Building<br />
<input type="checkbox" name="formDoor[]" value="Brown" />Brown Hall<br />
<input type="checkbox" name="formDoor[]" value="Carnegie" />Carnegie Complex<br />
<input type="checkbox" name="formDoor[]" value="Drake" />Drake Commons<br />
<input type="checkbox" name="formDoor[]" value="Elliot" />Elliot House
<input type="submit" name="formSubmit" value="Submit" />
</form>
<?php
$aDoor = $_POST['formDoor'];
if(empty($aDoor))
{
echo("You didn't select any buildings.");
}
else
{
$N = count($aDoor);
$command = escapeshellcmd('python3 test.py');
$output = shell_exec($command);
echo("You selected $N door(s): ");
for($i=0; $i < $N; $i++)
{
echo($aDoor[$i] . " ");
}
echo $output;
}
?>
我的Python脚本:
import sys
params = []
if ("Acorn" in str(sys.argv)):
params += ["Acorn Building"]
if ("Brown" in str(sys.argv)):
params += ["Brown Hall"]
if ("Carnegie" in str(sys.argv)):
params += ["Carnegie Complex"]
if ("Drake" in str(sys.argv)):
params += ["Drake Common"]
if ("Elliot" in str(sys.argv)):
params += ["Elliot House"]
print (params)
因此,如果我检查了python和 (打印(参数)用于检查参数的字符串)
问题是python无法识别sys.argv()并且没有通过if语句,我应该更改什么
您不必将
sys.argv
强制转换为字符串如果像
python3 test.py Elliot
一样调用脚本,那么sys.argv
是下面的列表那么
将返回
True
顺便说一下,您也不需要if条件周围的
()
编辑:要在对此答案的评论中回答您的问题,请执行以下操作:
相关问题 更多 >
编程相关推荐