下面是一个简单的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服务器信息和文件路径。
此脚本不包含任何错误处理逻辑来检查文件是否存在、远程目录是否存在等,这些额外的检查可以根据您的具体需求进行添加。