需要从这
name1212 | (0:55)
name12122 | (0:43)
name45152 | (0:38)
name121212 | (0:25)
name11212 | (0:18)
name1123 | (0:06)
name123 | (0:02)
name1232 | (0:01)
是吗
name1212 | (0:55)
name12122 | (0:43)
name45152 | (0:38)
name121212 | (0:25)
name11212 | (0:18)
name1123 | (0:06)
name123 | (0:02)
name1232 | (0:01)
但问题是,为了接收玩家和时间,我将其作为一个单独的函数来执行,并且我不明白如何像其他人一样实现它。
获取玩家和时间的代码:
def get_players_with_time(server_ip):
ip = str(server_ip.split(',')[0])
port = int(server_ip.split(',')[1])
address = (f"{ip}", port)
get_players = a2s.players(address)
players = "\n".join(player.name + ' | (' + str(datetime.timedelta(seconds=player.duration))[0:4] + ')' for player in get_players)
return players
你可以这样做:
结论:
另一种选择是根据最长名称确定最大字符串长度:
结论:
事实证明,使用 telegram 并不那么简单,所以我建议这个选项:
结论:
主要思想是(```)允许电报将文本感知为代码+
parse_mode='Markdown'这样,所有字符都会占用相同的空间,从而保留格式。
pip 安装 PrettyTable
如果添加PrettyTable库,您可以获得通常漂亮的输出:
结论:
表格对齐方式可以设置为r、l、c(右、左或中)
有一个选项可以使用对齐运算符在 f 字符串内部进行格式化(或通过格式的老式方式):
结论:
<|>|=|^- 对齐运算符(左、右、两端对齐 -仅适用于数字、居中在运算符之前,您可以放置一个需要填充空格而不是空格的符号:
{player:*<{max_len}}- fill*在运算符之后,指示一个数字,该数字确定输出该行的数量。如果超过了,就会发生转变。因此,首先需要
max_len通过最长的名称来确定。或者,您可以配置名称在超过指定长度时被修剪
.ЧИСЛО- 通过添加:结论:
您可以“玩”它并灵活地自定义输出: