我不知道你爲什麼不使用Python的PostgreSQL的連接器一樣psycopg2,但遠,如果你想要做你正在嘗試使用Unix命令重定向做你將不得不做這樣這在你的代碼
...
print "SELECT COUNT(*) FROM important_table" # or use sys.stdout.write()
這會在你的文件temp.sql
寫,如果你已經跑你的命令是這樣的:
python SQLgeneratingScript.py parameters > temp.sql
但還有我會建議寫在你的Python文件這樣
def generate_sql():
...
return "SELECT COUNT(*) FROM important_table"
with open('temp.sql', 'w') as f
sql = generate_sql()
f.write(sql)
以上使用psycopg2
你爲什麼不使用像psycopg2蟒蛇數據庫連接器直接執行SQL
import psycopg2
def generate_sql():
...
return "SELECT COUNT(*) FROM important_table"
conn = psycopg2.connect("dbname= ...")
cur = conn.cursor()
sql = generate_sql()
cur.execute(sql)
conn.close()
??? – mouad 2010-11-05 22:12:15