返回列表 发帖

Windows使用内置模块ftplib

FTP服务器的安装可参考:CentOS8_vsftpd虚拟用户



例子一:
上传文件到FTP根目录:

#coding=utf-8
import ftplib

def ftp_upload(file_remote,file_local):
        try:
                host = '192.168.168.154' #远程FTP服务器的IP地址
                username = 'zhuohua' #远程FTP用户
                password = '111' #远程FTP用户的密码

                f = ftplib.FTP(host)
                f.login(username, password)
                f.encoding = 'utf-8'
               
                pwd_path = f.pwd() #默认的工作目录就是FTP根目录
                print("FTP当前工作目录:", pwd_path)
               
                bufsize = 1024  #设置缓冲器大小
                fp = open(file_local, 'rb')
                f.storbinary('STOR ' + file_remote, fp, bufsize) #以二进制形式上传文件
                fp.close()
               
        except Exception as e:
                print(f"本地文件{file_local}上传失败,原因: {e}")
               
        else:
                print(f"本地文件{file_local}上传成功。")
               
        finally:
                f.quit()
       
if __name__ == '__main__':

        file_remote = 'a.txt' #远程文件
        file_local = 'D:\\a.txt' #本地文件
        ftp_upload(file_remote,file_local)
       
        print("-" * 10)
        file_remote = 'b.log' #远程文件,如果文件名称重复会被直接覆盖(上传成功)
        file_local = 'D:\\b1.log' #本地文件;本地文件名与远程文件名可以不一样
        ftp_upload(file_remote,file_local)

        print("-" * 10)
        file_remote = 'StringIO()函数.txt' #远程文件的名称可以包含中文
        file_local = 'D:\\share\\StringIO()函数.txt' #本地文件的名称也可以包含中文
        ftp_upload(file_remote,file_local) #多次执行函数,就可以一次性上传多个文件

       
脚本运行的结果:
C:\Users\jacky\Desktop>python xx.py
FTP当前工作目录: /
本地文件D:\a.txt上传成功。
----------
FTP当前工作目录: /
本地文件D:\b1.log上传成功。
----------
FTP当前工作目录: /
本地文件D:\share\StringIO()函数.txt上传成功。

C:\Users\jacky\Desktop>





######

例子二:
创建FTP子目录:

#coding=utf-8
import ftplib

def ftp_mkd(my_dir):

        try:
                host = '192.168.168.154'
                username = 'zhuohua'
                password = '111'

                f = ftplib.FTP(host)
                f.login(username, password)
                f.encoding = 'utf-8'
               
                f.mkd(my_dir)
               
        except Exception as e:
                print(f"FTP子目录{my_dir}创建失败,原因: {e}")
               
        else:
                print(f"FTP子目录{my_dir}创建成功。")
               
        finally:
                f.quit()
       
if __name__ == '__main__':

        ftp_mkd('/dir_1') #在FTP根目录里创建子目录
        ftp_mkd('/dir_1/dir_2') #在FTP子目录里创建子目录
       
        print("-" * 10)
        ftp_mkd('/财务部文件夹')
       

脚本运行的结果:(成功时)
C:\Users\jacky\Desktop>python xx.py
FTP子目录/dir_1创建成功。
FTP子目录/dir_1/dir_2创建成功。
----------
FTP子目录/财务部文件夹创建成功。

C:\Users\jacky\Desktop>


脚本运行的结果:(因FTP子目录已经存在而失败时)
C:\Users\jacky\Desktop>python xx.py
FTP子目录/dir_1创建失败,原因: 550 Create directory operation failed.
FTP子目录/dir_1/dir_2创建失败,原因: 550 Create directory operation failed.
----------
FTP子目录/财务部文件夹创建失败,原因: 550 Create directory operation failed.

C:\Users\jacky\Desktop>





######

例子三:
显示FTP根目录里的文件、子目录:(不会延伸到子目录的子目录)

#coding=utf-8
import ftplib

def ftp_show():
        try:
                host = '192.168.168.154'
                username = 'zhuohua'
                password = '111'

                f = ftplib.FTP(host)
                f.login(username, password)
                f.encoding = 'utf-8'
               
                pwd_path = f.pwd() #默认的工作目录就是FTP根目录
                print("FTP当前工作目录:", pwd_path)
               
                print("-" * 10)
                print("-" * 10)
                print("FTP根目录下的文件、子目录:")

                lines = []
                f.dir(f"{pwd_path}", lines.append)

                for line in lines:
                        tokens = line.split(maxsplit = 9)
                        name = tokens[8]
                        print(name)
               
        except Exception as e:
                print(f"显示失败,原因: {e}")
               
        else:
                pass
               
        finally:
                f.quit()
       
if __name__ == '__main__':

        ftp_show()
       
       
脚本运行的结果:(成功时)
C:\Users\jacky\Desktop>python xx.py
FTP当前工作目录: /
----------
----------
FTP根目录下的文件、子目录:
StringIO()函数.txt
a.txt
b.log
dir_1
财务部文件夹

C:\Users\jacky\Desktop>


脚本运行的结果:(因用户名错误而失败时)
C:\Users\jacky\Desktop>python xx.py
显示失败,原因: 530 Login incorrect.

C:\Users\jacky\Desktop>





######

例子四:
只显示FTP根目录里的txt文件:

#coding=utf-8
import ftplib

def ftp_show():
        try:
                host = '192.168.168.154'
                username = 'zhuohua'
                password = '111'

                f = ftplib.FTP(host)
                f.login(username, password)
                f.encoding = 'utf-8'
               
                pwd_path = f.pwd() #默认的工作目录就是FTP根目录
                print("FTP当前工作目录:", pwd_path)
               
                print("-" * 10)
                print("-" * 10)
                print("FTP根目录下的txt文件:")

                lines = []
                f.dir(f"{pwd_path}", lines.append)
               
                K_1 = '.txt' #文件后缀

                for line in lines:
                        if line.endswith(K_1):
                                tokens = line.split(maxsplit = 9)
                                name = tokens[8]
                                print(name)
               
        except Exception as e:
                print(f"显示失败,原因: {e}")
               
        else:
                pass
               
        finally:
                f.quit()
       
if __name__ == '__main__':

        ftp_show()
       
       
脚本运行的结果:(成功时)
C:\Users\jacky\Desktop>python xx.py
FTP当前工作目录: /
----------
----------
FTP根目录下的txt文件:
StringIO()函数.txt
a.txt

C:\Users\jacky\Desktop>


脚本运行的结果:(因用户密码错误而失败时)
C:\Users\jacky\Desktop>python xx.py
显示失败,原因: 530 Login incorrect.

C:\Users\jacky\Desktop>





######

例子五:
上传文件到FTP子目录:

#coding=utf-8
import ftplib

def ftp_upload(file_remote,file_local):
        try:
                host = '192.168.168.154'
                username = 'zhuohua'
                password = '111'

                f = ftplib.FTP(host)
                f.login(username, password)
                f.encoding = 'utf-8'
               
                f.cwd('/dir_1') #切换FTP的工作目录,上传的文件会放到对应的子目录
                pwd_path = f.pwd()
                print("FTP当前工作目录:", pwd_path)
               
                bufsize = 1024
                fp = open(file_local, 'rb')
                f.storbinary('STOR ' + file_remote, fp, bufsize)
                fp.close()
               
        except Exception as e:
                print(f"本地文件{file_local}上传失败,原因: {e}")
               
        else:
                print(f"本地文件{file_local}上传成功。")
               
        finally:
                f.quit()
       
if __name__ == '__main__':

        file_local = 'D:\\Music\\你会爱我到什么时候.mp3' #本地文件
        file_remote = file_local.split("\\")[2] #远程文件
        ftp_upload(file_remote,file_local)
       
        print("-" * 10)
        file_local = 'D:\\Music\\青狐狸.mp3' #本地文件
        file_remote = file_local.split("\\")[2] #远程文件
        ftp_upload(file_remote,file_local)
       
        print("-" * 10)
        file_local = 'D:\\Music\\图片a.png' #本地文件
        file_remote = file_local.split("\\")[2] #远程文件
        ftp_upload(file_remote,file_local)
       
       
脚本运行的结果:
C:\Users\jacky\Desktop>python xx.py
FTP当前工作目录: /dir_1
本地文件D:\Music\你会爱我到什么时候.mp3上传成功。
----------
FTP当前工作目录: /dir_1
本地文件D:\Music\青狐狸.mp3上传成功。
----------
FTP当前工作目录: /dir_1
本地文件D:\Music\图片a.png上传成功。

C:\Users\jacky\Desktop>





######

例子六:
显示FTP子目录里的文件、子目录:

#coding=utf-8
import ftplib

def ftp_show():

        host = '192.168.168.154'
        username = 'zhuohua'
        password = '111'

        f = ftplib.FTP(host)
        f.login(username, password)
        f.encoding = 'utf-8'
               
        f.cwd('/dir_1') #切换FTP的工作目录
               
        pwd_path = f.pwd()
        print("FTP当前工作目录:", pwd_path)
               
        print("-" * 10)
        print("-" * 10)
        print(f"FTP子目录{pwd_path}下的文件、子目录:")
        for file in f.nlst():
                print(file)
       
        f.quit()
       
if __name__ == '__main__':

        ftp_show()
       
       
脚本运行的结果:
C:\Users\jacky\Desktop>python xx.py
FTP当前工作目录: /dir_1
----------
----------
FTP子目录/dir_1下的文件、子目录:
dir_2
你会爱我到什么时候.mp3
图片a.png
青狐狸.mp3

C:\Users\jacky\Desktop>





######

例子七:
只显示FTP子目录里的mp3文件:

#coding=utf-8
import ftplib

def ftp_show():

        host = '192.168.168.154'
        username = 'zhuohua'
        password = '111'

        f = ftplib.FTP(host)
        f.login(username, password)
        f.encoding = 'utf-8'
               
        f.cwd('/dir_1') #切换FTP的工作目录
               
        pwd_path = f.pwd()
        print("FTP当前工作目录:", pwd_path)
               
        print("-" * 10)
        print("-" * 10)
        print(f"FTP子目录{pwd_path}下的mp3文件:")
       
        K_1 = '.mp3' #文件后缀
        for file in f.nlst():
                if file.endswith(K_1):
                        print(file)
       
        f.quit()
       
if __name__ == '__main__':

        ftp_show()
       
       
脚本运行的结果:
C:\Users\jacky\Desktop>python xx.py
FTP当前工作目录: /dir_1
----------
----------
FTP子目录/dir_1下的mp3文件:
你会爱我到什么时候.mp3
青狐狸.mp3

C:\Users\jacky\Desktop>





######

例子八:
从FTP根目录下载文件:

#coding=utf-8
import ftplib

def ftp_download(file_remote,file_local):
        try:
                host = '192.168.168.154'
                username = 'zhuohua'
                password = '111'

                f = ftplib.FTP(host)
                f.login(username, password)
                f.encoding = 'utf-8'
               
                f.cwd('/') #切换FTP的工作目录,默认的工作目录就是FTP根目录
               
                pwd_path = f.pwd()
                print("FTP当前工作目录:", pwd_path)

                bufsize = 1024 #设置缓冲器大小
                fp = open(file_local, 'wb')
                f.retrbinary('RETR %s' % file_remote, fp.write, bufsize) #以二进制形式下载文件
                fp.close()
               
        except Exception as e:
                print(f"远程文件{file_remote}下载失败,原因: {e}")
               
        else:
                print(f"远程文件{file_remote}下载成功。")
               
        finally:
                f.quit()
       
if __name__ == '__main__':

        file_remote = 'a.txt' #远程文件
        file_local = 'D:\\a.txt' #本地文件
        ftp_download(file_remote,file_local)
       
        print("-" * 10)
        file_remote = 'b.log' #远程文件;远程文件名与本地文件名可以不一样
        file_local = 'D:\\b1.log' #本地文件;如果文件名称重复会被直接覆盖(下载成功)
        ftp_download(file_remote,file_local)

        print("-" * 10)
        file_remote = 'StringIO()函数.txt' #远程文件的名称可以包含中文
        file_local = 'D:\\share\\StringIO()函数.txt' #本地文件的名称也可以包含中文
        ftp_download(file_remote,file_local) #多次执行函数,就可以一次性下载多个文件
               
               
脚本运行的结果:       
C:\Users\jacky\Desktop>python xx.py
FTP当前工作目录: /
远程文件a.txt下载成功。
----------
FTP当前工作目录: /
远程文件b.log下载成功。
----------
FTP当前工作目录: /
远程文件StringIO()函数.txt下载成功。

C:\Users\jacky\Desktop>





######

例子九:
从FTP子目录下载文件:

#coding=utf-8
import ftplib

def ftp_download(file_remote,file_local):
        try:
                host = '192.168.168.154'
                username = 'zhuohua'
                password = '111'

                f = ftplib.FTP(host)
                f.login(username, password)
                f.encoding = 'utf-8'
               
                f.cwd('/dir_1') #切换FTP的工作目录,会从对应的子目录下载文件
               
                pwd_path = f.pwd()
                print("FTP当前工作目录:", pwd_path)

                bufsize = 1024
                fp = open(file_local, 'wb')
                f.retrbinary('RETR %s' % file_remote, fp.write, bufsize)
                fp.close()
               
        except Exception as e:
                print(f"远程文件 {file_remote} 下载失败,原因: {e}")
               
        else:
                print(f"远程文件 {file_remote} 下载成功。")
               
        finally:
                f.quit()
       
if __name__ == '__main__':

        file_remote = '你会爱我到什么时候.mp3' #远程文件
        file_local = f"D:\\share\\{file_remote}" #本地文件
        ftp_download(file_remote,file_local)
       
        print("-" * 10)
        file_remote = '青狐狸.mp3' #远程文件
        file_local = f"D:\\share\\{file_remote}" #本地文件
        ftp_download(file_remote,file_local)

        print("-" * 10)
        file_remote = '图片a.png' #远程文件
        file_local = f"D:\\share\\{file_remote}" #本地文件
        ftp_download(file_remote,file_local)


脚本运行的结果:
C:\Users\jacky\Desktop>python xx.py
FTP当前工作目录: /dir_1
远程文件 你会爱我到什么时候.mp3 下载成功。
----------
FTP当前工作目录: /dir_1
远程文件 青狐狸.mp3 下载成功。
----------
FTP当前工作目录: /dir_1
远程文件 图片a.png 下载成功。

C:\Users\jacky\Desktop>





######

例子十:
重命名FTP文件:

#coding=utf-8
import ftplib

def ftp_rename(file_old,file_new):
        try:
                host = '192.168.168.154'
                username = 'zhuohua'
                password = '111'

                f = ftplib.FTP(host)
                f.login(username, password)
                f.encoding = 'utf-8'

                f.cwd('/') #切换FTP的工作目录,默认的工作目录就是FTP根目录
               
                pwd_path = f.pwd()
                print("FTP当前工作目录:", pwd_path)
               
                f.rename(file_old,file_new)
               
        except Exception as e:
                print(f"远程文件 {file_old} 重命名失败,原因: {e}")
               
        else:
                print(f"远程文件 {file_old} 成功重命名为 {file_new}")
               
        finally:
                f.quit()
       
if __name__ == '__main__':

        file_old = 'StringIO()函数.txt' #远程的旧文件
        file_new = 'new_StringIO()函数.txt' #远程的新文件
        ftp_rename(file_old,file_new)
       
       
脚本运行的结果:(成功时)
C:\Users\jacky\Desktop>python xx.py
FTP当前工作目录: /
远程文件 StringIO()函数.txt 成功重命名为 new_StringIO()函数.txt

C:\Users\jacky\Desktop>


脚本运行的结果:(因远程的旧文件不存在而失败时)
C:\Users\jacky\Desktop>python xx.py
FTP当前工作目录: /
远程文件 StringIO()函数.txt 重命名失败,原因: 550 RNFR command failed.

C:\Users\jacky\Desktop>





######

例子十一:
重命名FTP文件:(把远程文件移动到其他FTP目录)

#coding=utf-8
import ftplib

def ftp_rename(file_old,file_new):
        try:
                host = '192.168.168.154'
                username = 'zhuohua'
                password = '111'

                f = ftplib.FTP(host)
                f.login(username, password)
                f.encoding = 'utf-8'

                f.cwd('/dir_1') #切换FTP的工作目录,会以对应子目录作为起点
               
                pwd_path = f.pwd()
                print("FTP当前工作目录:", pwd_path)
               
                f.rename(file_old,file_new)
               
        except Exception as e:
                print(f"远程文件 {file_old} 重命名失败,原因: {e}")
               
        else:
                print(f"远程文件 {file_old} 成功重命名为 {file_new}")
               
        finally:
                f.quit()
       
if __name__ == '__main__':

        file_old = '你会爱我到什么时候.mp3' #远程的旧文件
        file_new = '/dir_1/dir_2/你会爱我到什么时候.mp3' #远程的新文件
        ftp_rename(file_old,file_new)
       
        print("-" * 10)
        file_old = '青狐狸.mp3' #远程的旧文件
        file_new = '/青狐狸.mp3' #会把新文件放到FTP根目录
        ftp_rename(file_old,file_new)
       
       
脚本运行的结果:
C:\Users\jacky\Desktop>python xx.py
FTP当前工作目录: /dir_1
远程文件 你会爱我到什么时候.mp3 成功重命名为 /dir_1/dir_2/你会爱我到什么时候.mp3
----------
FTP当前工作目录: /dir_1
远程文件 青狐狸.mp3 成功重命名为 /青狐狸.mp3

C:\Users\jacky\Desktop>





######

例子十二:
删除FTP根目录下的文件:

#coding=utf-8
import ftplib

def ftp_del_file(file_old):

        try:
                host = '192.168.168.154'
                username = 'zhuohua'
                password = '111'

                f = ftplib.FTP(host)
                f.login(username, password)
                f.encoding = 'utf-8'

                f.cwd('/') #切换FTP的工作目录,默认的工作目录就是FTP根目录
                pwd_path = f.pwd()
                print("FTP当前工作目录:", pwd_path)
               
                f.delete(file_old)
               
        except Exception as e:
                print(f"远程文件 {file_old} 删除失败,原因: {e}")
               
        else:
                print(f"远程文件 {file_old} 删除成功。")
               
        finally:
                f.quit()
       
if __name__ == '__main__':

        file_old = '青狐狸.mp3' #远程的FTP文件
        ftp_del_file(file_old)
       
       
脚本运行的结果:(成功时)
C:\Users\jacky\Desktop>python xx.py
FTP当前工作目录: /
远程文件 青狐狸.mp3 删除成功。

C:\Users\jacky\Desktop>


脚本运行的结果:(因远程的FTP文件不存在而删除失败时)
C:\Users\jacky\Desktop>python xx.py
FTP当前工作目录: /
远程文件 青狐狸.mp3 删除失败,原因: 550 Delete operation failed.

C:\Users\jacky\Desktop>





######

例子十三:
删除FTP子目录下的文件:

#coding=utf-8
import ftplib

def ftp_del_file(file_old):

        try:
                host = '192.168.168.154'
                username = 'zhuohua'
                password = '111'

                f = ftplib.FTP(host)
                f.login(username, password)
                f.encoding = 'utf-8'

                f.cwd('/dir_1') #切换FTP的工作目录,会以对应子目录作为起点
                pwd_path = f.pwd()
                print("FTP当前工作目录:", pwd_path)
               
                f.delete(file_old)
               
        except Exception as e:
                print(f"远程文件 {file_old} 删除失败,原因: {e}")
               
        else:
                print(f"远程文件 {file_old} 删除成功。")
               
        finally:
                f.quit()
       
if __name__ == '__main__':

        file_old = '图片a.png' #远程的FTP文件
        ftp_del_file(file_old)
       
       
脚本运行的结果:       
C:\Users\jacky\Desktop>python xx.py
FTP当前工作目录: /dir_1
远程文件 图片a.png 删除成功。

C:\Users\jacky\Desktop>





######

例子十四:
删除FTP子目录:

#coding=utf-8
import ftplib

def ftp_del_dir(dir_old):

        try:
                host = '192.168.168.154'
                username = 'zhuohua'
                password = '111'

                f = ftplib.FTP(host)
                f.login(username, password)
                f.encoding = 'utf-8'
               
                f.rmd(dir_old)
               
        except Exception as e:
                print(f"子目录 {dir_old} 删除失败,原因: {e}")
               
        else:
                print(f"子目录 {dir_old} 删除成功。")
               
        finally:
                f.quit()
       
if __name__ == '__main__':

        dir_old = '/财务部文件夹' #远程的FTP子目录
        ftp_del_dir(dir_old)
       
       
脚本运行的结果:(成功时)
C:\Users\jacky\Desktop>python xx.py
子目录 /财务部文件夹 删除成功。

C:\Users\jacky\Desktop>


脚本运行的结果:(因远程的FTP子目录不为空而删除失败时)
C:\Users\jacky\Desktop>python xx.py
子目录 /财务部文件夹 删除失败,原因: 550 Remove directory operation failed.

C:\Users\jacky\Desktop>


脚本运行的结果:(因远程的FTP子目录不存在而删除失败时)
C:\Users\jacky\Desktop>python xx.py
子目录 /财务部文件夹 删除失败,原因: 550 Remove directory operation failed.

C:\Users\jacky\Desktop>





######

例子十五:
以列表的形式显示FTP根目录里的文件、子目录:(不会延伸到子目录的子目录)

#coding=utf-8
import ftplib

def ftp_show():
        try:
                host = '192.168.168.154'
                username = 'zhuohua'
                password = '111'

                f = ftplib.FTP(host)
                f.login(username, password)
                f.encoding = 'utf-8'
               
                f.cwd('/') #切换FTP的工作目录,默认的工作目录就是FTP根目录
               
                pwd_path = f.pwd()
                print("FTP当前工作目录:", pwd_path)
               
                print("-" * 10)
                print("-" * 10)
                print("FTP根目录下的文件、子目录:")
                Result_1 = f.nlst()
                print(Result_1)
                print(type(Result_1))
               
        except Exception as e:
                print(f"显示失败,原因: {e}")
               
        else:
                pass
               
        finally:
                f.quit()
       
if __name__ == '__main__':

        ftp_show()
       
       
脚本运行的结果:
C:\Users\jacky\Desktop>python xx.py
FTP当前工作目录: /
----------
----------
FTP根目录下的文件、子目录:
['a.txt', 'b.log', 'dir_1', 'new_StringIO()函数.txt']
<class 'list'>

C:\Users\jacky\Desktop>





######

例子十六:
重命名FTP子目录:

#coding=utf-8
import ftplib

def ftp_rename(dir_old,dir_new):
        try:
                host = '192.168.168.154'
                username = 'zhuohua'
                password = '111'

                f = ftplib.FTP(host)
                f.login(username, password)
                f.encoding = 'utf-8'

                f.rename(dir_old,dir_new)
               
        except Exception as e:
                print(f"子目录 {dir_old} 重命名失败,原因: {e}")
               
        else:
                print(f"子目录 {dir_old} 成功重命名为 {dir_new}")
               
        finally:
                f.quit()
       
if __name__ == '__main__':

        dir_old = '/dir_1' #旧的FTP子目录
        dir_new = '/new_dir_1' #新的FTP子目录
        ftp_rename(dir_old,dir_new)
       
       
脚本运行的结果:(FTP子目录不为空时,也可以重命名)
C:\Users\jacky\Desktop>python xx.py
子目录 /dir_1 成功重命名为 /new_dir_1

C:\Users\jacky\Desktop>





######

例子十七:
重命名FTP子目录的子目录:

#coding=utf-8
import ftplib

def ftp_rename(dir_old,dir_new):
        try:
                host = '192.168.168.154'
                username = 'zhuohua'
                password = '111'

                f = ftplib.FTP(host)
                f.login(username, password)
                f.encoding = 'utf-8'

                f.rename(dir_old,dir_new)
               
        except Exception as e:
                print(f"子目录 {dir_old} 重命名失败,原因: {e}")
               
        else:
                print(f"子目录 {dir_old} 成功重命名为 {dir_new}")
               
        finally:
                f.quit()
       
if __name__ == '__main__':

        dir_old = '/new_dir_1/dir_2' #旧的FTP子目录
        dir_new = '/new_dir_1/new_dir_2' #新的FTP子目录
        ftp_rename(dir_old,dir_new)
       
       
脚本运行的结果:(FTP子目录不为空时,也可以重命名)
C:\Users\jacky\Desktop>python xx.py
子目录 /new_dir_1/dir_2 成功重命名为 /new_dir_1/new_dir_2

C:\Users\jacky\Desktop>





######

例子十八:
以列表的形式显示FTP子目录里的文件、子目录:

#coding=utf-8
import ftplib

def ftp_show():
        try:
                host = '192.168.168.154'
                username = 'zhuohua'
                password = '111'

                f = ftplib.FTP(host)
                f.login(username, password)
                f.encoding = 'utf-8'
               
                f.cwd('/new_dir_1/new_dir_2') #切换FTP的工作目录,会以对应子目录作为起点
               
                pwd_path = f.pwd()
                print("FTP当前工作目录:", pwd_path)
               
                print("-" * 10)
                print("-" * 10)
                print(f"FTP子目录{pwd_path}下的文件、子目录:")
               
                Result_1 = f.nlst()
                print(Result_1)
                print(type(Result_1))
               
                print("-" * 10)
                print(Result_1[0])
               
        except Exception as e:
                print(f"显示失败,原因: {e}")
               
        else:
                pass
               
        finally:
                f.quit()
       
if __name__ == '__main__':

        ftp_show()
       
       
脚本运行的结果:
C:\Users\jacky\Desktop>python xx.py
FTP当前工作目录: /new_dir_1/new_dir_2
----------
----------
FTP子目录/new_dir_1/new_dir_2下的文件、子目录:
['你会爱我到什么时候.mp3']
<class 'list'>
----------
你会爱我到什么时候.mp3

C:\Users\jacky\Desktop>





相关文章:
Linux使用内置模块ftplib

split()函数
文件操作(复制、重命名、删除等)

返回列表