python上传文件夹里所有文件和文件夹到远程服务器
时间: 2023-09-28 08:07:16 浏览: 307
可以使用 Paramiko 库来实现 Python 上传文件夹里所有文件和文件夹到远程服务器。
以下是示例代码:
```python
import os
import paramiko
def upload_folder(local_path, remote_path, ssh):
# 遍历本地文件夹
for root, dirs, files in os.walk(local_path):
for file in files:
local_file_path = os.path.join(root, file)
remote_file_path = os.path.join(remote_path, local_file_path[len(local_path)+1:])
# 上传本地文件到远程服务器
sftp = ssh.open_sftp()
sftp.put(local_file_path, remote_file_path)
sftp.close()
for dir in dirs:
local_dir_path = os.path.join(root, dir)
remote_dir_path = os.path.join(remote_path, local_dir_path[len(local_path)+1:])
# 创建远程文件夹
ssh.exec_command('mkdir -p %s' % remote_dir_path)
# 递归上传本地文件夹到远程服务器
upload_folder(local_dir_path, remote_dir_path, ssh)
if __name__ == '__main__':
# 连接远程服务器
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('hostname', username='username', password='password')
# 上传本地文件夹到远程服务器
upload_folder('/path/to/local/folder', '/path/to/remote/folder', ssh)
# 关闭连接
ssh.close()
```
注意,这段代码需要先安装 Paramiko 库,并且需要替换代码中的 hostname、username、password、/path/to/local/folder 和 /path/to/remote/folder 为实际的值。
阅读全文
相关推荐















