0

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

4

1 回答 1

0

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

JSON 文件

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

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

这是这个 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 包/模块,以便您可以使用它的功能。第二行读取文件的内容。第三行将文件的内容传递给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 = json.load(f)

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

问题是它将数据存储为字符串,因此您必须对其进行解析(将其转换为您喜欢的格式),以便您可以使用它做一些事情。这就是为什么我说使用 JSON 更简单。

CSV 或 XLS 文件 (Excel)

对于阅读 excel 文件,您将在此处找到答案:

使用 Python 读取/解析 Excel (xls) 文件

于 2020-09-06T17:23:34.033 回答