MySQL 및 Python과 관련된 질문이 있습니다.python os.execvp() mysql 테이블을 표시하려고하면 1049 오류가 발생합니다 - 알 수없는 데이터베이스 오류
이 명령은 셸에서 작동하지만 os.execvp
을 사용하면 작동하지 않습니다.
[./mysql', '-D test -e "show tables"'] ERROR 1049 (42000): Unknown database ' test -e "show tables"'
나는이 파이썬 구문에 문제가있는 경우 확실하지 않다 나 :
$./mysql -D test -e "show tables" +----------------+ | Tables_in_test | +----------------+ | sample | +----------------+
파이썬 코드의 해당 부분이의 출력은
def execute():
args = []
args.extend(sys.argv[1:])
args.extend([MYSQL, '-D test -e "show tables"'])
print args
os.execvp(args[0], args)
child_pid = os.fork()
if child_pid == 0:
os.execvp(args[0], args)
else:
os.wait()
일 것 아니. 또한 동일한 명령이 os.system
호출과 함께 작동합니다.
os.system(MYSQL + ' -D test -e "show tables"')
이 방법을 알려주십시오.