我有个伐木工人。我正在调用外部进程。我把stdout和stderr从这个进程中分离出来,这样我就可以记录它们了。在
我有这个错误:
Traceback (most recent call last): File "importData.py", line 198, in importData(ftpServerName,ftpU,ftpP,directory,filematch,source,destination) File "importData.py", line 99, in importData p = subprocess.Popen(['mongoimport --db AutoPrivilege -c cars stockvo.json --jsonArray --upsert --drop'], stdout=subprocess.PIPE, stderr=subprocess.PIPE) File "/usr/lib/python2.7/subprocess.py", line 710, in init errread, errwrite) File "/usr/lib/python2.7/subprocess.py", line 1335, in _execute_child raise child_exception OSError: [Errno 2] No such file or directory
我的脚本:
...
#import json file to MongoDB
logger.info(' Import json file to MongoDB')
#subprocess.call('mongoimport --db AutoPrivilege -c cars stockvo.json --jsonArray --upsert --drop',shell=True)
p = subprocess.Popen(["mongoimport --db AutoPrivilege -c cars stockvo.json --jsonArray --upsert --drop"], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
stdout, stderr = p.communicate()
if stdout:
logger.info(stdout)
if stderr:
logger.error(stderr)
...
有没有办法解决这个问题?在
subprocess.Popen
构造函数接受参数列表,而不是字符串:相关问题 更多 >
编程相关推荐