【发布时间】:2020-07-16 21:30:22
【问题描述】:
这篇文章就在前一秒被关闭了,因为它显然不够集中。我不确定我怎么能更具体?我已经阐明了上下文、出错的代码和错误语句。我还应该添加什么?如果我做错了什么,请发表评论,以便我从错误中吸取教训。
我运行这段代码:
"C:\Program Files\MySQL\MySQL Server 8.0\bin\mysql.exe" -uroot -proot belgarath_test < bets_baseline.sql
从此目录:
C:\Users\Philip\OneDrive\Betting\Capra\Tennis\polgara\tests\mysql>
但是,尝试运行这行代码:
subprocess.run([r'C:\Program Files\MySQL\MySQL Server 8.0\bin\mysql.exe', '-uroot', '-proot', 'belgarath_test < bets_baseline.sql'], cwd=r'C:\Users\Philip\OneDrive\Betting\Capra\Tennis\polgara\tests\mysql')
给出这个错误:
ERROR 1049 (42000): Unknown database 'belgarath_test < bets_baseline.sql'
【问题讨论】:
-
bash 中的
< bets_baseline.sql不是表示“将此文件通过管道传输到程序”吗?这意味着它不会是您打开文件并将其传递给stdin所需的命令行参数的一部分 -
有谁知道这篇文章最初有什么问题吗?
-
您最初的问题是
... -proot belgarath_test是命令行参数的结尾,` bets_baseline.sql 应该通过管道传输进入程序标准输入。 -
感谢 Tadhg。实际上,我的意思是该帖子有什么问题,因为它因不够集中而被关闭。我认为这是一个非常体面的问题......
-
我不认为这是关闭的?有人可能已经投票了,但这是一个非常好的问题,所以现在已经过去了。
标签: python cmd subprocess