我怎么能把一个表内的布局框使用丰富的Python?



这是我用来在布局中放置表格的代码。然而,在输出中,我得到了很多类似ansii代码的字符,即使我已经为列定义了颜色属性,在输出中也没有出现。

from re import X
import psycopg2
from rich.console import Console
from rich.table import Table
from rich import box
from rich.layout import Layout
from rich import print as rprint
layout = Layout()
layout.split_column(
Layout(name="upper"),
Layout(name="lower")
)
connection = psycopg2.connect(user="enterprisedb",
password="xxxx",
host="xx.xx.xxx.170",
port="5444",
database="edb")
cursor = connection.cursor()
def imp_file_layout():
table1 = Table(title="FILE LOCATIONS")
table1.add_column("FILE_NAME", style="cyan", no_wrap=True)
table1.add_column("LOCATION", style="magenta")
directory_detail_Query = "select name,setting from pg_settings where name in ('data_directory','config_file','hba_file');"
cursor.execute(directory_detail_Query)
directory_records = cursor.fetchall()
for row in directory_records:
table1.add_row(*list(row))
console=Console(markup=False)
with console.capture() as capture:
console.print(table1)
return capture.get()

x=imp_file_layout();
layout["lower"].update(x)
rprint(layout)
cursor.close()
connection.close()

输出:

╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
[3m                      FILE LOCATIONS                       [0m
┏━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃[1m [0m[1mFILE_NAME     [0m[1m [0m┃[1m [0m[1mLOCATION                              [0m[1m [0m┃
┡━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│[36m [0m[36mconfig_file   [0m[36m [0m│[35m [0m[35m/var/lib/edb/as14/data/postgresql.conf[0m[35m [0m│
│[36m [0m[36mdata_directory[0m[36m [0m│[35m [0m[35m/var/lib/edb/as14/data                [0m[35m [0m│
│[36m [0m[36mhba_file      [0m[36m [0m│[35m [0m[35m/var/lib/edb/as14/data/pg_hba.conf    [0m[35m [0m│
└────────────────┴────────────────────────────────────────┘

有什么解决办法吗?

如果我只是做一个表的正常打印,输出是预期的,但当我试图把它放在一个布局占位符,很多额外的字符出现。

不需要捕获该表的输出。返回Table实例并将其添加到您的布局中。

最新更新