文章目录
subprocess 介绍
python 中 通过 subprocess 库下的方式执行 node js 命令。
python 11 前后使用 subprocess 区别
python 3.11 前如何使用
subprocess.check_output(f"node ./h5st.js '{json.dumps(p)}'", shell=True).decode().strip()
如下是在 3.11.6 版本上 使用 subprocess.check_output()方式,在 js 接收端收到的json 数据格式错误,其中最明显的是 "'{appid:", 结构 错乱
js 端收到的 json 数据:
[
'C:\\Program Files\\nodejs\\node.exe',
'E:\\pyCode\\pythonProject\\16\\jd\\loader01.js',
"'{appid:",
'search-pc-java,',
'functionId:',
'pctradesoa_getFloatLayer,',
'client:',
'pc,',
'clientVersion:',
'1.0.0,',
't:',
'1729677413834,',
'body:',
"924dd75abb6856fe6b88cf4eaa1ac0499ea75cd75d6647968623a40f41972fb8}'"
]
python 3.11 后如何使用
result = subprocess.run(['node', './loader01.js', json_string], capture_output=True, text=True, encoding="utf-8")
result.stdout
使用第二种方式,必须要调用 result.stdout ,不然不会返回值
js 接受端
let jsonData = process.argv[2]
parameter = JSON.parse(jsonData)
接收到 数据后一定要做 序列化处理 如 上
972

被折叠的 条评论
为什么被折叠?



