如何使用Python统计输出中服务器名称的重复次数?
解决方案
1. 用collections.Counter做频次统计
Python标准库的collections.Counter专门用于这类元素频次统计,传入服务器名称列表就能直接得到「服务器名: 出现次数」的键值对结果。
2. 格式化为目标字符串
把统计结果转换成「名称,次数」的格式,再用空格拼接成最终输出。
完整示例代码
假设你已经通过shell命令拿到了服务器名称列表server_list,代码如下:
from collections import Counter # 示例:从shell命令获取到的服务器名称列表 server_list = ["server1", "server2", "server1", "server3", "server2", "server2", "server3"] # 统计每个服务器的出现次数 counts = Counter(server_list) # 格式化为要求的字符串格式 output_str = " ".join([f"{server},{count}" for server, count in counts.items()]) print(output_str)
输出结果
server1,2 server2,3 server3,2
集成到现有代码
如果你的现有代码是通过subprocess执行shell命令获取数据,可参考以下集成方式:
import subprocess from collections import Counter # 执行NetBackup相关shell命令,获取服务器名称(请替换为你的实际命令) cmd_result = subprocess.run(["your_netbackup_query_command"], capture_output=True, text=True) # 按行拆分结果,过滤空行避免干扰 server_list = [line.strip() for line in cmd_result.stdout.split("\n") if line.strip()] # 统计并格式化输出 counts = Counter(server_list) output_str = " ".join([f"{server},{count}" for server, count in counts.items()]) print(output_str)
内容的提问来源于stack exchange,提问作者Raj
相关产品推荐
相关产品推荐

