我有一个与 MySQL 和 Python 有关的问题。
此命令适用于 shell,但在我使用os.execvp
.
$./mysql -D test -e "显示表格" +----------------+ | Tables_in_test | +----------------+ | 样品 | +----------------+
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"'] 错误 1049 (42000): 未知数据库 'test -e "show tables"'
我不确定这是否是 Python 语法的问题。此外,相同的命令适用于os.system
调用。
os.system(MYSQL + ' -D test -e "show tables"')
请让我知道如何使它工作。