python批量运行cmd_python 之多主机批量执行命令(python批量执行多个py文件)

2023-03-28 2158阅读

温馨提示:这篇文章已超过726天没有更新,请注意相关的内容是否还可用!

本文将介绍如何使用Python批量运行cmd_python实现多主机批量执行命令以及Python批量执行多个py文件。最后,使用for循环遍历主机列表,依次登录每台主机,并执行相同的命令。需要注意的是,这里使用了subprocess库中的Popen方法来执行Python脚本,并通过stdout输出结果。

python批量运行cmd_python 之多主机批量执行命令(python批量执行多个py文件)

Python批量运行cmd_python 之多主机批量执行命令及Python批量执行多个py文件

在日常工作中,我们经常需要在多台主机上执行相同的命令或者运行多个Python脚本。如果手动一个一个去执行这些操作,不仅效率低下,而且容易出错。本文将介绍如何使用Python批量运行cmd_python实现多主机批量执行命令以及Python批量执行多个py文件。

一、多主机批量执行命令

1.安装paramiko库

Paramiko是Python编写的SSH协议远程连接客户端,可以用于远程登录服务器执行命令、上传下载文件等操作。因此,在使用Python进行多主机批量执行命令前,需要先安装paramiko库。可以通过以下命令进行安装:

pip install paramiko

2.编写代码

下面是一个简单的Python程序,用于远程登录多台主机,并在每台主机上执行相同的命令:

```

import paramiko

# 定义主机列表

hosts = ['192.168.1.101', '192.168.1.102', '192.168.1.103']

# 定义用户名和密码

username = 'root'

password = '123456'

# 定义要执行的命令

command = 'ls -l /'

# 遍历主机列表,依次登录并执行命令

for host in hosts:

# 创建SSH客户端

ssh = paramiko.SSHClient()

# 允许连接不在know_hosts文件中的主机

ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

# 连接主机

ssh.connect(host, username=username, password=password)

# 执行命令

stdin, stdout, stderr = ssh.exec_command(command)

# 输出结果

print(f'Host {host}:')

print(stdout.read().decode())

# 关闭连接

ssh.close()

```

在上述代码中,首先定义了一个包含多个主机IP地址的列表hosts,然后定义了用户名和密码。接着,定义要执行的命令command。最后,使用for循环遍历主机列表,依次登录每台主机,并执行相同的命令。需要注意的是,这里使用了paramiko库中的exec_command方法来执行命令,并通过stdout输出结果。

二、Python批量执行多个py文件

1.编写代码

下面是一个简单的Python程序,用于批量运行多个Python脚本:

```

import os

# 定义脚本路径列表

scripts = ['/path/to/script1.py', '/path/to/script2.py', '/path/to/script3.py']

# 遍历脚本路径列表,依次执行脚本

for script in scripts:

os.system(f'python {script}')

```

在上述代码中,首先定义了一个包含多个Python脚本路径的列表scripts。然后,使用for循环遍历脚本路径列表,依次执行每个脚本。需要注意的是,这里使用了os库中的system方法来执行Python脚本。

2.使用subprocess库

除了使用os库中的system方法外,还可以使用subprocess库中的Popen方法来执行Python脚本。下面是一个使用subprocess库的示例代码:

```

import subprocess

# 定义脚本路径列表

scripts = ['/path/to/script1.py', '/path/to/script2.py', '/path/to/script3.py']

# 遍历脚本路径列表,依次执行脚本

for script in scripts:

proc = subprocess.Popen(['python', script], stdout=subprocess.PIPE, stderr=subprocess.PIPE)

out, err = proc.communicate()

print(f'Script {script} output:')

print(out.decode())

```

在上述代码中,首先定义了一个包含多个Python脚本路径的列表scripts。然后,使用for循环遍历脚本路径列表,依次执行每个脚本。需要注意的是,这里使用了subprocess库中的Popen方法来执行Python脚本,并通过stdout输出结果。

总结

本文介绍了如何使用Python批量运行cmd_python实现多主机批量执行命令以及Python批量执行多个py文件。通过这些方法,可以大大提高工作效率,减少出错的可能性。当然,在实际应用中,还需要根据具体情况进行调整和优化。

有云计算,存储需求就上慈云数据:点我进入领取200元优惠券
VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]