可以使用paramiko库来实现将文件上传到服务器的功能。以下是一个示例代码:

import paramiko

def upload_file(hostname, port, username, password, local_file, remote_path):
    # 创建SSH客户端
    client = paramiko.SSHClient()
    # 自动添加主机到已知主机列表
    client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    # 连接服务器
    client.connect(hostname=hostname, port=port, username=username, password=password)
    
    try:
        # 创建SFTP客户端
        sftp = client.open_sftp()
        # 将本地文件上传到服务器指定路径
        sftp.put(local_file, remote_path)
        print(f"文件 {local_file} 上传成功!")
    except Exception as e:
        print(f"文件上传失败:{str(e)}")
    finally:
        # 关闭SFTP客户端
        sftp.close()
        # 关闭SSH客户端
        client.close()

# 测试
hostname = '服务器地址'
port = 22
username = '用户名'
password = '密码'
local_file = '本地文件路径'
remote_path = '服务器目标路径'

upload_file(hostname, port, username, password, local_file, remote_path)

其中,hostnameportusernamepassword分别是服务器的地址、端口、用户名和密码。local_file是本地文件的路径,remote_path是服务器上目标路径。在调用upload_file函数时,将这些参数传入即可实现文件上传

使用python的ssh写一个将文件上传到服务器指定目录下的方法可以选择上传的文件

原文地址: https://www.cveoy.top/t/topic/ibQj 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录