我有纬度、经度和频率等输入。我想在JS文件上运行这个命令:
exec(`python test.py '{"latitude":${latitude},"longitude":${longitude},"frequency":${frequency}}'`, (error, stdout, stderr) => { .... })
但当我运行时,我会出现以下错误:
error: Command failed: python test.py '{"latitude":48.118097,"longitude":-1.636503,"frequency":2.4}'
Traceback (most recent call last):
File "test.py", line 16, in <module>
data=json.loads(sys.argv[1])
File "C:Users****AppDataLocalProgramsPythonPython38libjson__init__.py", line 357, in loads
return _default_decoder.decode(s)
File "C:Users****AppDataLocalProgramsPythonPython38libjsondecoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "C:Users****AppDataLocalProgramsPythonPython38libjsondecoder.py", line 355, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
我的python脚本从开始
import sys
import json
data=json.loads(sys.argv[1])
此外,如果我只是在没有args的情况下运行我的python脚本,并直接在python脚本中写入随机数据,它就可以工作了。所以我认为这是exec命令中写入的args的问题。
你能帮帮我吗?
也许加双引号?
python test.py '"{"latitude":48.118097,"longitude":-1.636503,"frequency":2.4}"'