Python上传文件到远程服务器

需要参数:本地文件目录,远程服务器文件目录。

# @Time : 2021/3/9 13:21 

# @Author : Dr.zhang

# @File : ftp上传.py

# @Software: PyCharm

from ftplib import FTP, _SSLSocket,error_perm
from posixpath import dirname
import sys
import socket
from socket import _GLOBAL_DEFAULT_TIMEOUT
def ftpconnect(host, username, password):
    ftp = FTP()
    ftp.set_debuglevel(2)
    ftp.connect(host, 21)
    ftp.login(username, password)
    return ftp
def uploadfile(dirpath, remotepath):
    ftp = ftpconnect("服务器IP", "账号", "密码")
    ftp_makedirs_cwd(ftp,'文件夹名字')
    # 从本地上传文件到ftp
    fp = open(dirpath) # dirpath 是本地目录
    ftp.encoding = 'utf-8' # 设置编码,防止中文乱码
    ftp.storbinary('STOR ' + remotepath, fp) # 上传
    ftp.set_debuglevel(0) # 设置日志级别
    ftp.quit()
def ftp_makedirs_cwd(ftp, path, first_call=True):
    """设置“FTP”中给出的FTP连接的当前目录
参数(如ftplib)。),不存在创建目录。
    """
    try:
        ftp.cwd(path) # 切换到对应目录
    except:
        ftp_makedirs_cwd(ftp, dirname(path), False) # 新建目录
        ftp.mkd(path)
        if first_call:
            ftp.cwd(path)
if __name__ == "__main__":
    uploadfile(r"20210309/1038车天下.mp3", "车天下.mp3")
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容