Как сделать так, чтобы имена колонок не обновлялись с новым выводом и оставались всегда сверху, а строки данных пере затирали друг друга без мерцания.
Скрипт будет запускаться в консоли windows.
--------------------------------------------------------------------------------------------------------------
colum1 colum2 colum3 colum4 colum5
--------------------------------------------------------------------------------------------------------------
строка 1
строка 2
строка 3
строка ...
import cx_Oracle
import getpass
import os
usrid = getpass._raw_input("Login: " )
pswd = getpass.getpass()
host = "host"
port = "1521"
sid = "orcl"
dsn = cx_Oracle.makedsn(host, port, sid)
con = cx_Oracle.connect(usrid, pswd, dsn)
my_cursor = con.cursor()
while True:
os.system('cls')
try:
my_cursor.execute("""select colum1, colum2, colum3, colum4, colum5, from table""")
except cx_Oracle.DatabaseError, info:
print "SQL Error:", info
exit(0)
print ("-") * 110
title_mask = ('%-22s', '%-10s', '%-10s', '%-40s', '%-15s', '%-8s')
i = 0
for column_description in my_cursor.description:
print title_mask[i] % column_description[0],
i = 1 + i
print ''
print ("-") * 110
row_mask = '%-22s %-10s %-10s %-40s %-10s %-15s'
result = my_cursor.fetchall()
for column in result:
print(row_mask % (column[0], column[1], column[2], column[3], column[4], column[5]))