我遇到了插入Tkinter Text Widget的文本的问题。插入文本后看起来不太清晰(它的统计数据来自PostgreSQL)。
public AO_21D670_WHITELIST_RULES 5 |1 |0.16666666666666666667
public AO_4AEACD_WEBHOOK_DAO 8 |0 |0E-20
public AO_563AEE_ACTIVITY_ENTITY 8 |0 |0E-20
public AO_563AEE_ACTOR_ENTITY 3 |0 |0E-20
public AO_563AEE_MEDIA_LINK_ENTITY 3 |0 |0E-20
public AO_563AEE_OBJECT_ENTITY 4 |0 |0E-20
public AO_563AEE_TARGET_ENTITY 4 |0 |0E-20
public AO_B9A0F0_APPLIED_TEMPLATE 5 |1 |0.16666666666666666667
是否可以编辑Text Widget的首选项以按Tab或其他顺序设置它?在我的代码中,我尝试仅在数据库中下载的数据之间设置TAB,但插入的文本如上所示。下面是我的代码将数据插入Text Widget:
conn = psycopg2.connect(database=baza, host=host, port=port, user=user, password=password)
cur = conn.cursor()
cur.execute("""SELECT datname, numbackends, blks_hit, tup_inserted, tup_updated, tup_deleted, deadlocks, stats_reset
FROM pg_stat_database
WHERE datname='postgres' """)
if (bool(cur.rowcount) == True):
statTextField.insert(INSERT, "pg_stat_database\nDATNAME NUMBACKENDS BLKS_HIT TUP_INSERTED TUP_UPDATED TUP_DELETED DEADLOCKS STATS_RESET\n")
for row in cur.fetchall():
statTextField.insert(INSERT,("%s %s %s %s %s %s %s %s\n" % (row[0],row[1],row[2],row[3],row[4],row[5],row[6],row[7])))
我的目标是使插入的文本看起来像这样:
public AO_21D670_WHITELIST_RULES 5 |1 |0.16666666666666666667
public AO_4AEACD_WEBHOOK_DAO 8 |0 |0E-20
public AO_563AEE_ACTIVITY_ENTITY 8 |0 |0E-20
public AO_563AEE_ACTOR_ENTITY 3 |0 |0E-20
public AO_563AEE_MEDIA_LINK_ENTITY 3 |0 |0E-20
public AO_563AEE_OBJECT_ENTITY 4 |0 |0E-20
public AO_563AEE_TARGET_ENTITY 4 |0 |0E-20
public AO_B9A0F0_APPLIED_TEMPLATE 5 |1 |0.16666666666666666667
P.S。我对Python有点新鲜,很抱歉,如果问题太微不足道了。
答案 0 :(得分:0)
尝试使用.format()方法。
>>> row
[0, 1, 2, 3, 4, 5, 6, 7]
>>> print("{0:10}{1:30}{2:4}{3:4}{4:4}{5:4}{6:4}{7:4}".format(row[0],row[1],row[2],row[3],row[4],row[5],row[6],row[7])))
其中第一个num inside {}是参数个数,第二个num是空间长度
输出:
0 1 2 3 4 5 6 7