如何使用shutil模块在Python中将文件复制到远程服务器
在 Python 中,可以使用 paramiko 模块和 shutil 模块一起将文件复制到远程服务器上。下面是一个简单的示例:
import paramiko import shutil # 创建 SSH 客户端对象 ssh = paramiko.SSHClient() # 允许连接不在 known_hosts 文件中的主机 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) # 连接远程服务器 ssh.connect('remote_server_ip', username='remote_user', password='remote_password') # 将本地文件 'pidancode.txt' 复制到远程服务器上的目录 '/home/remote_user/' shutil.copy2('pidancode.txt', '/home/remote_user/', follow_symlinks=True) # 关闭 SSH 连接 ssh.close()
上述代码中,首先创建了一个 paramiko.SSHClient() 对象。接着使用 set_missing_host_key_policy 方法允许连接不在 known_hosts 文件中的主机。然后使用 connect 方法连接到远程服务器,需要传入远程服务器的 IP 地址、用户名和密码。接着使用 shutil.copy2 方法将本地文件 'pidancode.txt' 复制到远程服务器上的目录 '/home/remote_user/',follow_symlinks 参数表示是否跟随符号链接。最后使用 close 方法关闭 SSH 连接。
需要注意的是,在使用 paramiko 模块进行 SSH 连接时,需要提供正确的 IP 地址、用户名和密码。另外,复制文件时需要确保远程服务器的目录存在,并且当前用户有写入权限。
相关文章