这里是 PHP 代码。
<?php
if (mysqli_num_rows($query) > 0) { ?>
<?php
$r = [];
$f = [];
$m = [];
while ($row = mysqli_fetch_array($query)) {
$r[] = $row['Recency'];
$f[] = $row['Frequency'];
$m[] = $row['Monetary'];
?>
<tr>
<td><?php echo $row['Nama']; ?></td>
<td><?php echo $row['Recency']; ?></td>
<td><?php echo $row['Frequency']; ?></td>
<td><?php echo number_format($row['Monetary'], 0, ",", "."); ?></td>
<tr>
<?php }
$recency = implode(',', $r);
$frequency = implode(',', $f);
$monetary = implode(',', $m);
?>
<?php }
?>
<?php
echo shell_exec('python C:\\xampp\htdocs\test\try.py "' . $recency . '" "' . $frequency . '" "' . $monetary . '"');
?>
这是我的 try.py 代码:
import sys
q=[[sys.argv[1]],[sys.argv[2]],[sys.argv[3]]]
print (q)
我期望输出 [[4,3,2],[1,2,3],[9,9,9]],但实际输出是 [['4,3,2'],['1, 2,3'],['9,9,9']]。我怎样才能替换 ' ?
args 作为字符串接收,因此您必须首先将它们拆分,
,然后将数字映射到int
试试这个:
q=[map(int, sys.argv[1].split(',')),map(int, sys.argv[2].split(',')),map(int, sys.argv[3].split(','))]
ForPython3
map
将返回一个地图对象,因此您必须将其转换为list
q=[list(map(int, sys.argv[1].split(','))),list(map(int, sys.argv[2].split(','))),list(map(int, sys.argv[3].split(',')))]
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句