Python: print json.dumps 在独立调用时不返回任何东西

0 人关注

我正在通过PHP执行python,以获得一些流体的物理特性。

在Python代码的最后,我希望将结果打印成json。

result = {
  "Density": Density, 
  "Vis": Viscosity,
  "Cv": Cvcalc,
  "Cp": Cpcalc,
  "kTh":thermalConductivity
print json.dumps(result)

上面的代码没有返回任何东西。 当我加入另一个print(最后一行)时,它就工作了。

result = {
print json.dumps(result)
print 's'

这就是结果。我可以删除这个额外的字符,但我想知道原因是什么。

__output:
       "Vis": 24.32561332022869, 
       "Cp": 0.9243864539174277,
       "kTh": 0.03403661793540763, 
       "Cv": 0.8251806533784246, 
       "Density": 6.489637890634001
    }\ns\n'
我的问题是在Bash中执行绝对路径。
PHP代码如下,把它替换成相对路径后,它就被清除了。所以,这与调用代码有关,是的但是,在文件路径中,相对路径和绝对路径之间是否有任何有意义的区别?

shell_exec('python C:\Python27\index.py ' . $fluid . " " . $press . " " . $tempK);
shell_exec('python index.py' . $fluid . " " . $press . " " . $tempK);
    
1 个评论
这似乎更像是调用代码的问题。你也应该包括它。
php
python
json
lee
lee
发布于 2019-09-30
1 个回答
Xin Zhou
Xin Zhou
发布于 2019-09-30
已采纳
0 人赞同

if you use python3 try: print(json.dumps(result), flush=True)

if you use python2

import sys sys.stdout.flush()