[ftputil] #Python
import os
from ftputil import FTPHost, session
ftp = None
def init(app):
server_ip = 'xxx.xxx.xxx.xxx'
server_port = 21
user = 'user'
password = 'password'
global ftp
#当ftp client在容器内时,由于client端口未做映射,必须采用被动模式连接到ftp server,同时ftp server必须进行端口映射
ftp = FTPHost(server_ip, user, password,
session_factory=session.session_factory(port=server_port, use_passive_mode=True))
def upload_file(local_path, remote_path):
remote_dir = os.path.dirname(remote_path)
if not ftp.path.exists(remote_dir):
ftp.makedirs(remote_dir)
ftp.upload(local_path, remote_path)
def download_file(local_path, remote_path):
local_dir = os.path.dirname(local_path)
if not os.path.exists(local_dir):
os.makedirs(local_dir)
ftp.download(remote_path, local_path)