我有一个与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"')
请让我知道如何让这个工作。