python windows和linux 文件同步
在Python中,可以使用paramiko
库来实现Windows和Linux之间的文件同步。paramiko
是一个用于SSH连接的Python库,可以用于在Windows和Linux之间进行文件传输。
以下是一个简单的示例代码,演示如何使用paramiko
库在Windows和Linux之间同步文件:
import paramiko,os# 创建SSH客户端
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('192.168.11.26', username='root', password='root')# 创建SFTP客户端
sftp = ssh.open_sftp()# 在Windows服务器上获取要同步的文件列表
windows_path = r'D:/zenglg'
file_list = os.listdir(windows_path)# 在Linux服务器上创建目标文件夹
linux_path = '/home/zenglg22'
dir_exists = Falsetry:dir_attrs = sftp.listdir_attr(linux_path)if dir_attrs:dir_exists = True
except IOError:# 目录不存在时就创建sftp.mkdir(linux_path)pass# 同步文件
for file in file_list:windows_file_path = f'{windows_path}/{file}'linux_file_path = f'{linux_path}/{file}'sftp.put(windows_file_path, linux_file_path)# 关闭SFTP客户端和SSH客户端连接
sftp.close()
ssh.close()
在上面的代码中,我们首先创建一个SSH客户端,并使用connect()
方法连接到Linux服务器。然后,我们创建一个SFTP客户端,使用listdir()
方法获取Windows服务器上要同步的文件列表。接下来,我们在Linux服务器上创建目标文件夹,并使用put()
方法将文件从Windows服务器同步到Linux服务器。最后,我们关闭SFTP客户端和SSH客户端连接。
请注意,您需要将示例代码中的IP地址、用户名、密码、文件夹路径等替换为您自己的实际值。另外,您还需要确保已经安装了paramiko
库。您可以使用以下命令在终端中安装它:
pip install paramiko
实现效果
windows本地文件夹
执行同步脚本之后