复制
收藏
提问
全网
python实现从windows服务器A把某个文件夹下文件弄到windows服务器B的某个路径下,给出完整代码
4个月前
理解问题python实现从windows服务器A把某个文件夹下文件弄到windows服务器B的某个路径下,给出完整代码
已完成理解「python实现从windows服务器A把某个文件夹下文件弄到windows服务器B的某个路径下,给出完整代码」
展开阅读网页
使用Python的paramiko库可以实现Windows服务器之间的文件传输。以下是实现从Windows服务器A到Windows服务器B文件传输的完整代码示例:
import paramiko
import os
# 服务器A的配置信息
host_A = '服务器A的IP地址'
port_A = 22
username_A = '用户名'
password_A = '密码'
# 服务器B的配置信息
host_B = '服务器B的IP地址'
port_B = 22
username_B = '用户名'
password_B = '密码'
# 要传输的文件夹路径
local_dir = '服务器A上的文件夹路径'
remote_dir = '服务器B上的文件夹路径'
# 创建SSH对象
ssh_A = paramiko.SSHClient()
ssh_B = paramiko.SSHClient()
# 自动添加主机密钥
ssh_A.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh_B.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 连接到服务器A
ssh_A.connect(host_A, port=port_A, username=username_A, password=password_A)
# 使用SFTP协议连接到服务器B
sftp_B = ssh_B.open_sftp()
ssh_B.connect(host_B, port=port_B, username=username_B, password=password_B)
# 遍历文件夹中的所有文件和子文件夹
for root, dirs, files in os.walk(local_dir):
for file in files:
local_path = os.path.join(root, file)
remote_path = os.path.join(remote_dir, os.path.relpath(local_path, local_dir))
# 确保远程路径存在
sftp_B.mkdir(remote_path, mode=0o777, exist_ok=True)
# 上传文件
sftp_B.put(local_path, remote_path)
# 关闭连接
sftp_B.close()
ssh_A.close()
ssh_B.close()
这段代码首先设置了两个Windows服务器的连接信息,然后定义了要传输的文件夹路径。接着,使用paramiko库创建SSH连接,并使用SFTP协议进行文件传输。代码中使用了os.walk
遍历文件夹,并对每个文件使用sftp.put
方法上传到服务器B的指定路径。最后,关闭了所有连接。56
更专业一些
转笔记
专业
python实现从windows服务器A把某个文件夹下文件弄到windows服务器B的某个路径下,给出完整代码不在提醒