我通过SSH连接到EC2机器,并尝试运行python脚本连接到Redshift数据库。
我使用的命令是
psql "host=clusterhost user=admin dbname=databasename port=1234"
我知道它有效,因为如果我将它复制并粘贴到命令行中,它就可以了。我也在shell脚本中使用了相同的命令,并且有效。所以我不确定为什么它不使用Python脚本。我是否需要添加其他内容才能使其正常工作?
这是我得到的错误输出:
File "test.py", line 3
psql "host=clusterhost user=admin dbname=databasename port=1234"
^
SyntaxError: invalid syntax
答案 0 :(得分:0)
psql
command line tool不是Python命令。您需要在命令行上运行它。
您可以使用subprocess
module
import subprocess
subprocess.call(('psql', 'host=clusterhost user=admin dbname=databasename port=1234'))