ftp自动上传脚本分享


下面是一个简单的FTP自动上传脚本示例,使用Python的`ftplib`库来实现。请确保您的环境中已经安装了Python,并且您有足够的权限来执行FTP操作。


from ftplib import FTP

def ftp_upload(ftp_host, ftp_port, ftp_username, ftp_password, local_file, remote_path):
    """
    自动上传文件到FTP服务器

    :param ftp_host: FTP服务器地址
    :param ftp_port: FTP服务器端口,默认为21
    :param ftp_username: FTP登录用户名
    :param ftp_password: FTP登录密码
    :param local_file: 要上传的本地文件路径
    :param remote_path: 远程服务器上的目标路径(不包括文件名)
    """
    ftp = FTP()
    ftp.connect(ftp_host, ftp_port)  # 连接到FTP服务器
    ftp.login(ftp_username, ftp_password)  # 登录

    try:
        # 切换工作目录到远程路径
        ftp.cwd(remote_path)
        
        # 打开本地文件并上传到FTP服务器
        with open(local_file, 'rb') as f:
            ftp.storbinary(f'STOR {local_file.split("/")[-1]}', f)
        print(f"文件 {local_file} 已成功上传到 {ftp_host}:{ftp_port}/{remote_path}")
    except Exception as e:
        print(f"上传失败: {e}")
    finally:
        ftp.quit()  # 关闭FTP连接

# 示例用法
ftp_host = 'ftp.example.com'
ftp_port = 21
ftp_username = 'your_username'
ftp_password = 'your_password'
local_file = '/path/to/your/local/file.txt'
remote_path = '/path/to/remote/directory'

ftp_upload(ftp_host, ftp_port, ftp_username, ftp_password, local_file, remote_path)

这个脚本定义了一个`ftp_upload`函数,它接受FTP服务器的连接信息、本地文件路径和远程目标路径作为参数,并尝试将文件上传到FTP服务器上的指定位置。

请注意,您需要替换脚本中的`ftp_host`、`ftp_port`、`ftp_username`、`ftp_password`、`local_file`和`remote_path`变量的值为实际的FTP服务器信息和文件路径。

此脚本不包含任何错误处理逻辑来检查文件是否存在、远程目录是否存在等,这些额外的检查可以根据您的具体需求进行添加。