JQ命令在python中不起作用

时间:2017-01-25 20:56:57

标签: python json subprocess jq

所以我有一个jq命令将我的json数组转换为json对象。该命令在Windows终端中正常工作,但是当我尝试将其实现到我的python程序中时,我得到了这个:jq:error:

Could not open file >newfile.json: Invalid argument.

这是我的jq命令,它将变换后的json放入newfile.json:

jq ".[]" data.txt >newfile.json

这是我的python程序中的子进程调用:

 subprocess.call('jq ".[]" data.txt >newfile.json', cwd=r'C:/Users/john/Desktop/swag', shell=True)

1 个答案:

答案 0 :(得分:0)

自己打开输出文件,你不需要依赖shell行为(显然,在本案例中不起作用)来为你做这件事。

subprocess.call(['jq', '.[]', 'data.txt'],
  cwd=r'C:/Users/john/Desktop/swag',
  stdout=open('C:/Users/john/Desktop/swag/newfile.json', 'w'))