如何替换撇号

大卫·维德

这里是 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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章