From 0e3748b2c804c2da3a660375d19da464917e420d Mon Sep 17 00:00:00 2001 From: lxbhahaha <1580622474@qq.com> Date: Wed, 27 Mar 2024 13:39:45 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B9=E4=B8=BA=E8=8E=B7=E5=8F=96=E6=89=80?= =?UTF-8?q?=E6=9C=89str=E4=B9=8B=E5=90=8E=E5=86=8Dclear,=E5=B0=9D=E8=AF=95?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=97=AA=E7=9A=84=E9=97=AE=E9=A2=98=EF=BC=88?= =?UTF-8?q?=E8=BF=98=E6=98=AF=E4=B8=8D=E8=A1=8C=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- check.py | 42 ++++++++++++++++++++++++++---------------- 1 file changed, 26 insertions(+), 16 deletions(-) diff --git a/check.py b/check.py index 84be368..a7ef60f 100644 --- a/check.py +++ b/check.py @@ -149,8 +149,8 @@ def get_bar(bar_ratio, max_len, color=False): return ''.join(res) -def print_table_res(data_list): - def print_line(line_type, width_list, spaces=[]): +def get_table_res(data_list): + def get_line(line_type, width_list, spaces=[]): assert line_type in ['up', 'middle', 'bottom'] str_list = [] @@ -181,15 +181,18 @@ def print_table_res(data_list): else: str_list.append(table_icon['mid'][line_type]) - print(''.join(str_list)) - - # print('TODO') - print(time.strftime("%Y%m-%d%H:%M:%S", time.localtime(time.time()))) + return ''.join(str_list) + # print(''.join(str_list)) + + result_str = [] + + result_str.extend([time.strftime("%Y%m-%d%H:%M:%S", time.localtime(time.time())), '\n']) + # print(time.strftime("%Y%m-%d%H:%M:%S", time.localtime(time.time()))) cell_width_list = [7, 20, 24, 15] len_last3 = cell_width_list[1] + cell_width_list[2] + cell_width_list[3] + 2 # 输出head ------------------------------------------ - print_line('up', cell_width_list) + result_str.extend([get_line('up', cell_width_list), '\n']) str_list = [] str_list.append(table_icon['vline']) str_list.append(clamp_str('Title', cell_width_list[0], True)) @@ -200,11 +203,11 @@ def print_table_res(data_list): str_list.append(table_icon['vline']) str_list.append(clamp_str('GPU-Util', cell_width_list[3], True)) str_list.append(table_icon['vline']) - print(''.join(str_list)) + result_str.extend([''.join(str_list), '\n']) # 输出内容 ------------------------------------------ for i, data in enumerate(data_list): - print_line('middle', cell_width_list) + result_str.extend([get_line('middle', cell_width_list), '\n']) title = data['server_data']['title'] info_list = data.get('info_list', None) if info_list: @@ -231,7 +234,8 @@ def print_table_res(data_list): str_list.append(clamp_str(f"{util_gpu} % ", cell_width_list[3], True, 'right')) str_list.append(table_icon['vline']) - print(''.join(str_list)) + result_str.extend([''.join(str_list), '\n']) + # print(''.join(str_list)) # 第二行 str_list = [] @@ -264,11 +268,12 @@ def print_table_res(data_list): str_list.append(get_bar(util_gpu/100, cell_width_list[3], True)) str_list.append(table_icon['vline']) - print(''.join(str_list)) + result_str.extend([''.join(str_list), '\n']) + # print(''.join(str_list)) # 下一张卡 if j != len(info_list)-1: - print_line('middle', cell_width_list, [0]) + result_str.extend([get_line('middle', cell_width_list, [0]), '\n']) else: str_list = [] str_list.append(table_icon['vline']) @@ -277,9 +282,12 @@ def print_table_res(data_list): err_info = data.get('err_info', 'error') str_list.append(clamp_str(err_info, len_last3, True)) str_list.append(table_icon['vline']) - print(''.join(str_list)) + # print(''.join(str_list)) + result_str.extend([''.join(str_list), '\n']) - print_line('bottom', cell_width_list) + result_str.extend([get_line('bottom', cell_width_list), '\n']) + + return ''.join(result_str) def keep_check_one(server: dict, shared_data_list: list, server_idx: int, interval: float): try: @@ -387,10 +395,12 @@ def realtime(args): # 绘制 while True: with data_list_lock: - os.system('cls' if os.name == 'nt' else 'clear') if args.table: - print_table_res(data_list) + res_str = get_table_res(data_list) + os.system('cls' if os.name == 'nt' else 'clear') + print(res_str) else: + os.system('cls' if os.name == 'nt' else 'clear') print(time.strftime("%Y%m-%d%H:%M:%S", time.localtime(time.time()))) for data in data_list: print(data['server_data']['title'] + ' ---------------')