|
发表于 2023-4-22 15:48:14
|
显示全部楼层
本楼为最佳答案
不好意思,我之前的回答有误。`rcon.run()` 返回的实际上是一个字符串,而不是列表。
`player_info = rcon.run(f"data get entity {player_name}")` 会返回包含玩家信息的字符串。这个字符串可能会包含玩家的属性、位置、游戏模式等数据。
如果您想要从字符串中解析出特定的数据,可以使用正则表达式或其他字符串处理方法。例如,如果您想要提取玩家的位置,可以尝试使用以下代码:
- import re
- # 获取玩家信息
- player_info = rcon.run(f"data get entity {player_name}")
- # 使用正则表达式提取玩家的位置
- position_pattern = re.compile(r"Pos:\[(-?\d+(\.\d+)?),\s(-?\d+(\.\d+)?),\s(-?\d+(\.\d+)?)\]")
- position_match = position_pattern.search(player_info)
- if position_match:
- x, _, y, _, z, _ = position_match.groups()
- print(f"玩家 {player_name} 的位置: X={x}, Y={y}, Z={z}")
- else:
- print("无法找到玩家位置")
复制代码
请注意,这个方法需要您熟悉正则表达式以解析所需的数据。同时,您需要根据实际情况调整正则表达式以匹配返回的字符串中的数据。 |
|