python ftplib使用指南

2023-05-16

关于服务器,这个是个难弄的东西,一台就需要几十大洋

而服务器的类型有很多种

http,https,tcp,ftp等等

而今天说的就是使用python连接和使用ftp服务器

1.开通ftp服务器

开通局域网ftp服务器的过程就不说了,不知道的看一下开通局域网ftp服务器方法

开通公域网还是要说一下

3vftp官网是个非常好用的公域网ftp开通网站,你只需要注册一个账号,任何按这个方法,就可以永久使用ftp公域网的网站了

2.python连接

连接代码:

import ftplib


ft = ftplib.FTP()
ft.connect("ftp服务器名称", 数字端口:ftp一般是21)
ft.login("用户名,匿名为空", "密码,没有为空")

3.使用服务器

首先要导入一个文件(在同目录下命名为ftp.py)

from ftplib import FTP
import os
temp=os.environ["temp"]
def upload(f, remote_path, local_path):
    fp = open(local_path, "rb")
    buf_size = 1024
    f.storbinary("STOR {}".format(remote_path), fp, buf_size)
    fp.close()
def download(f, remote_path, local_path):
    fp = open(local_path, "wb")
    buf_size = 1024
    f.retrbinary('RETR {}'.format(remote_path), fp.write, buf_size)
    fp.close()
def quit(f):
    f.quit()
def typefile(f,file):
    local_path=temp+"/TEMPfile"
    fp = open(local_path, "wb")
    buf_size = 1024
    f.retrbinary('RETR {}'.format(file), fp.write, buf_size)
    fp.close()
    f=open(local_path,"r",encoding="UTF-8")
    get=f.read()
    f.close()
    os.remove(local_path)
    return get
def nlst(ft,cwd=""):
    try:
        ft.nlst(cwd)
    except:
        return []
    return ft.nlst(cwd)
def DownLoadFileTree(ft, LocalDir, RemoteDir):
        def DownLoadFile(ft, LocalFile, RemoteFile):  # 下载单个文件
                file_handler = open(LocalFile, 'wb')
                ft.retrbinary('RETR ' + RemoteFile, file_handler.write)
                file_handler.close()
                return True
        if not os.path.exists(LocalDir):
            os.makedirs(LocalDir)
        ft.cwd(RemoteDir)
        RemoteNames = ft.nlst()
        for file in RemoteNames:
            Local = os.path.join(LocalDir, file)
            if file.find(".") == -1:
                if not os.path.exists(Local):
                    os.makedirs(Local)
                DownLoadFileTree(ft,Local, file)
            else:
                DownLoadFile(ft,Local, file)
        ft.cwd("..")
        return

让后在你的文件里写下:

import ftplib
import ftp


ft = ftplib.FTP()
ft.connect("ftp服务器名称", 数字端口:ftp一般是21)
ft.login("用户名,匿名为空", "密码,没有为空")

...后续代码

我来讲解一下ftp.py的代码

import ftp

ft = ftplib.FTP()
ft.connect("ftp服务器名称", 数字端口:ftp一般是21)
ft.login("用户名,匿名为空", "密码,没有为空")


upload(f, remote_path, local_path):
#上传文件的函数
#f 写ft(服务器的把柄)
#remote_path 上传到服务器后的路径,比如"/dir/dir/file.txt"
#local_path 要上传的文件路径,比如"C:\users\user\desktop\file.txt"

download(f, remote_path, local_path):
#下载文件
#f 写ft(服务器的把柄)
#remote_path 在服务器里的路径,比如"/dir/dir/file.txt"
#local_path 下载到本地的文件路径,比如"C:\users\user\desktop\file.txt"

quit(f):
#退出连接
#f 写ft(服务器的把柄)

typefile(f,file):
#读取服务器文件但不下载
#f 写ft(服务器的把柄)
#file 在服务器里的路径,比如"/dir/dir/file.txt"
#返回值 文件里的字

nlst(ft,cwd=""):
#获取当前目录的所有文件
#ft 写ft(服务器的把柄)
#cwd 服务器文件夹的位置

DownLoadFileTree(ft, LocalDir, RemoteDir):
#下载一个目录
#ft 写ft(服务器的把柄)
#LocalDir 下载到本地文件夹的位置
#RemoteDir 服务器上的位置

是不是觉得我非常废话,是的,我从小就是话痨

好,这就是今天的全部内容,明天见!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python ftplib使用指南 的相关文章

随机推荐