Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2225878
  • 博文数量: 287
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 2130
  • 用 户 组: 普通用户
  • 注册时间: 2014-03-31 14:30
个人简介

自己慢慢积累。

文章分类

全部博文(287)

分类: Python/Ruby

2016-04-19 18:18:36

直接贴代码吧:

点击(此处)折叠或打开

  1. import ftplib
  2. import os

  3. def ftplogin():
  4.     ftpip=input(u"请输入FTP服务器的IP:\n")
  5.     port=input(u"请输入FTP服务器的端口(默认21):\n")

  6.     if port == '':
  7.         port=21
  8.     else:
  9.         port=int(port)
  10.         
  11.     try:
  12.         ftp=ftplib.FTP()
  13.         ftp.connect(ftpip,port)
  14.     except Exception as ex:
  15.         print(ex)
  16.         print("ERROR:cannot connect " + ftpip )
  17.         return 0
  18.     print("connected to host " + ftpip)
  19.     usr=input(u"请输入ftp的用户名(默认anonymous):\n")
  20.     pwd=input(u"请输入ftp用户%s的密码:\n"%usr)
  21.     try:
  22.         ftp.login(usr,pwd)
  23.     except Exception as ex:
  24.         print(ex)
  25.         print("Error:login failed")
  26.         ftp.quit()
  27.         return 0
  28.     print("login success!")

  29.     #打印当前路径
  30.     print(ftp.pwd())
  31.     print(u"当前路径下的文件列表:\n")
  32.     print(ftp.dir())
  33.     
  34.     #转到源路径
  35.     sourcedir=input(u"请输入要下载的文件的路径:\n")
  36.     try:
  37.         ftp.cwd(sourcedir)
  38.         print(u"已经进入到路径:" + ftp.pwd())
  39.         print(u"文件列表:\n")
  40.         print(ftp.dir())
  41.     except Exception as ex:
  42.         print(ex)
  43.         print(u"进入FTP路径 %s 失败!"%sourcedir)
  44.         ftp.quit()
  45.         return 0
  46.     
  47.     
  48.     filename=input(u"请输入要下载的文件的名称(包含扩展名)\n")

  49.     #设置目标目录
  50.     targetdir=input(u"请输入要保存的本地路径:\n")
  51.     try:
  52.         os.chdir(targetdir)
  53.     except Exception as ex:
  54.         print(ex)
  55.         print(u"进入目标路径 %s 失败!"%targetdir)
  56.         ftp.quit()
  57.         return 0
  58.     print(u"设置本地路径%s成功"%targetdir)
  59.     #下载文件
  60.     try:
  61.         ftp.retrbinary("RETR %s"%filename,open(filename,"wb").write)
  62.     except Exception as ex:
  63.         print(ex)
  64.         ftp.quit()
  65.         print(u"下载文件失败")
  66.         return 0
  67.     print(u"下载文件%s成功"%filename)
  68.     ftp.quit()
  69.     input(u"按任意键退出..")

  70. if __name__ == '__main__':
  71.     ftplogin()

阅读(1500) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~