如何在服务器列表上自动执行python系统功能?

时间:2019-02-16 16:39:25

标签: python-3.x pandas

我正在一个小型自动化POC上工作,我需要在100台服务器上运行并在它们上执行python os.system(),将它们保存为CSV格式,然后通过Pandas读取以存储输出转换为Excel文件作为报告。 我编写了一个简单的程序,当我在单个服务器上工作时,该程序对我有用。但是当我无法提出任何解决方案以与多台服务器一起工作时。

下面是示例代码。

this.setState

我知道我需要将文件保存在列表中并对其进行for循环。但是我有以下情况需要注意:-

1)在服务器列表上运行上述代码将有多个输出。因此,我需要根据其中的服务器名称将输出保存在CSV文件中。 下面的例子

from os import system
import pandas as pd

system('free' + "> sample.csv")

# reading a CSV file through pandas
df = pd.read_csv('sample.csv', sep='\t')

# Create a file writer use pandas.ExcelWriter method.
excel_writer = pd.ExcelWriter('test.xlsx', engine='xlsxwriter')

# Call DataFrame’s to_excel method to set the DataFrame data to special excel file sheet.
df.to_excel(excel_writer, 'Employee Info')

# Call the writer’s save method to save the data to excel file.
excel_writer.save()

注意:在带有“ free”命令的原始输出中,没有服务器的“主机名/ IP”。

2)如果os.system()要生成100个CSV文件,那么我需要加入它们并创建一个CSV文件

3)CSV中的每一列都应被视为excel文件中的一列。

注意:不需要在excel文件中创建多个工作表。

4)如果服务器没有无密码登录,那么我需要创建一个json文件,其中主机名是密钥,而用户名/密码将作为值。

我尝试考虑以上情况,但我无法提出适当的逻辑。

请提出建议

0 个答案:

没有答案