python批量运行cmd_python 之多主机批量执行命令(python批量执行多个py文件)
温馨提示:这篇文章已超过726天没有更新,请注意相关的内容是否还可用!
本文将介绍如何使用Python批量运行cmd_python实现多主机批量执行命令以及Python批量执行多个py文件。最后,使用for循环遍历主机列表,依次登录每台主机,并执行相同的命令。需要注意的是,这里使用了subprocess库中的Popen方法来执行Python脚本,并通过stdout输出结果。
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元优惠券
