로거가 있습니다. 외부 프로세스를 호출하고 있습니다. stdout과 stderr를 해당 프로세스와 별도로 캡처하여 기록 할 수 있습니다.
이 오류가 있습니다.
역 추적 (최근 호출 마지막) : 파일 "importData.py", 198 행, importData (ftpServerName, ftpU, ftpP, directory, filematch, source, destination) 파일 "importData.py", 99 행, importData p = 하위 프로세스 .Popen ([ 'mongoimport --db AutoPrivilege -c cars stockvo.json --jsonArray --upsert --drop'], stdout = subprocess.PIPE, stderr = subprocess.PIPE) 파일 "/usr/lib/python2.7 /subprocess.py ", 710 행, init errread, errwrite) 파일"/usr/lib/python2.7/subprocess.py ", 1335 행, _execute_child raise child_exception OSError : [Errno 2] 해당 파일 또는 디렉토리 없음
내 스크립트 :
...
#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
생성자는 문자열이 아닌 인수 목록을 허용합니다.
p = subprocess.Popen(['mongoimport', '--db', 'AutoPrivilege', '-c',
'cars', 'stockvo.json', '--jsonArray', '--upsert',
'--drop'])...
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다