我正在尝试使用以下命令导入 json 文件:mongoimport -c collection -d db < file.json
。当我从 shell 调用此命令时,每个文档都会被导入。但是,当我尝试从带有模块子进程的 python 脚本调用它时,如下所示: subprocess.call('mongoimport -c collection -d db < file.json', shell=True)
,我有以下错误:Failed: error processing document #37: unexpected EOF
。有人可以解释一下为什么它可以在 shell 中运行,但在从脚本调用时却不能运行吗?
提前致谢。
最佳答案
我的事情是因为 subprocess.Popen 构造函数接受参数列表,而不是字符串,如下所示:
p = subprocess.Popen(['mongoimport', '--db', 'AutoPrivilege', '-c','cars', 'stockvo.json', '--jsonArray', '--upsert','--drop'])...
关于python - 从 python 脚本调用 mongoimport,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38700051/