gpt4 book ai didi

php - 如何在 Python 和 PHP 之间传输数据

转载 作者:行者123 更新时间:2023-12-04 17:48:02 25 4
gpt4 key购买 nike

我有一个 Python 脚本,它使用 print 将一堆文本输出到 PHP。和 shell_exec() .我还必须在两者之间发送一个字典,以存储一些脚本信息。这是我的代码的简化版本:

Python

import json

# Lots of code here

user_vars = {'money':player.money}
print(user_vars)
print(json.dumps(user_vars))

输出(在PHP中):
{'money': 0} {"money": 0}

所以同样的事情,除了 JSON 有双引号。

PHP

如果我想使用 JSON( print(json.dumps(user_vars)) ,它输出 {"money": 0} ,注意双引号)来传输数据,这是我将使用的代码:
<?php
$result = shell_exec('python JSONtest.py');
$resultData = json_decode($result, true);
echo $resultData["money"];
?>

我有两个问题:
  • 有什么理由我应该使用 print(user_vars)代替print(json.dumps(user_vars)) , 或相反亦然?
  • 有没有其他的转账方式user_vars/json.dumps(user_vars)无需在最终的 PHP 页面中看到它,而不必将它们转储到实际中 .json文件?还是我以错误的方式解决这个问题?

  • 我的代码基于问题 here .

    最佳答案

    这段代码可以解决问题。

    Python

    import json
    data = {'fruit':['oranges', 'apples', 'peaches'], 'age':12}
    with open('data.json', 'w') as outfile:
    json.dump(data, outfile)

    PHP
    <?php
    $string = file_get_contents("data.json");
    $json_a = json_decode($string, true);
    echo $json_a['age']; # Note that 'fruit' doesn't work:
    # PHP Notice: Array to string conversion in /var/www/html/JSONtest.php on line 4
    # Array
    ?>

    此方法仅适用于字符串,但它确实解决了我的问题,而且我可以不使用列表/数组来解决问题。

    关于php - 如何在 Python 和 PHP 之间传输数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47441197/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com