一个非常简单的小安排:
psql = '/usr/bin/psql'
database = 'mydb'
script = 'foo.sql'
p = subprocess.Popen([psql, '-d', database, '-f', script], shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
stdout, stderr = p.communicate()
exit = p.returncode
但它失败了,说FATAL: database "user" does not exist
好像它在用户user
下运行而忽略了-d
标志。
是什么给出了?