我有一個與MySQL和Python有關的問題。python os.execvp()試圖顯示mysql表給出1049錯誤 - 未知數據庫錯誤
該命令適用於shell,但不適用於我使用os.execvp
。
$./mysql -D test -e "show tables" +----------------+ | Tables_in_test | +----------------+ | sample | +----------------+
的代碼在Python中相應的一塊將是
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()
的這個輸出是:
[./mysql', '-D test -e "show tables"'] ERROR 1049 (42000): Unknown database ' test -e "show tables"'
我不知道這是否與Python語法問題或不。此外,該命令與os.system
調用一起使用。
os.system(MYSQL + ' -D test -e "show tables"')
請讓我知道如何讓這個工作。