所以我有一个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)
答案 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'))