je ne sais pas pourquoi vous n'utilisez un connecteur postgresql python comme psycopg2, mais bien si vous voulez faire ce que vous essayez de faire en utilisant la redirection de commande Unix vous devrez le faire comme ceci dans votre code
...
print "SELECT COUNT(*) FROM important_table" # or use sys.stdout.write()
cela va écrire dans votre fichier temp.sql
si vous avez couru votre commande comme ceci:
python SQLgeneratingScript.py parameters > temp.sql
mais bien je vous suggère d'écrire en vous produirez en python comme celui-ci
def generate_sql():
...
return "SELECT COUNT(*) FROM important_table"
with open('temp.sql', 'w') as f
sql = generate_sql()
f.write(sql)
ou une utilisation plus psycopg2
pour exécuter directement votre 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()
pourquoi vous n'utilisez un connecteur de base de données de python comme psycopg2 ??? – mouad