从记事本或 excel - Python 读取服务器列表作为输入

Reading Server list as input from notepad or excel - Python

我是 python 的新手。最近我在 python 中创建了一个运行状况检查脚本,它对于获取基本机器的详细信息很有用。但我想用它从远程 Windows 和 Linux 服务器获取详细信息。 在 powershell 脚本中,我们过去常常在 excel 或记事本中输入服务器名称或 IP 地址,以便脚本从那里读取和获取服务器详细信息。 python 有什么方法可以从记事本或 excel 中一一获取服务器详细信息并为其提供健康检查详细信息?

是的,有一种方法可以从记事本文件或 excel 文件中读取数据 Python。

JSON 个文件

第一个问题是:这个文件是否有既定的结构,或者你可以选择这个文件的外观吗?

如果您可以选择文件的外观,那么我认为使用JSON 来存储这些数据将是最简单易读的。 JSON 是一种存储一些数据的符号,您可以使用编程语言轻松读取这些数据。 JSON 文件名以 .json 结尾(例如“servers.json”)。如果您将其存储在普通的 .txt 文件(记事本)或 .xls (Excel) 中,那么您当然也可以使用 Python 读取它,但如果存储在 [=68 中会更简单=].

这个 JSON 文件看起来像这样:

[
  "243.240.94.92",
  "183.80.15.155",
  "66.49.192.233",
  "175.209.93.76",
  "123.91.228.104"
]

这表示一个包含 IP 地址的数组。您可以通过以下方式在Python中阅读:

import json

with open('path_to_file/servers.json') as f:
  data = json.load(f)

之后,data 将是一个包含文件中 IP 地址的数组。

第一行输入Json package/module,这样就可以使用它的功能了。第二行读取文件的内容。第三行将文件的内容传递给 json.load 函数,该函数将内容转换为 Python 对象。

您可以打印变量 data 以查看它究竟包含什么。

print(data)

您可以在此处了解 JSON 的更多信息: https://www.programiz.com/python-programming/json

这是一个从 servers.json 文件中读取此 IP 地址并逐一打印 IP 地址的脚本示例:

import json

with open('path_to_file/servers.json') as f:
    data = json.load(f)

for ip_address in data:
    print("IP Address: " + ip_address)

TXT 文件(记事本)

读取.txt文件最简单的方法是这样的:

with open('path_to_file/servers.txt') as f:
  data = f.read()

之后,data 变量将包含文件的内容。如果您想查看确切包含的变量,请打印该变量。

问题在于它将数据存储为字符串,因此您必须对其进行解析(将其转换为您喜欢的格式),以便您可以对其进行操作。这就是为什么我说 JSON.

更简单

CSV 或 XLS 文件(Excel)

要阅读 excel 个文件,您会在这里找到答案:

Reading/parsing Excel (xls) files with Python