Python ftplib 模块关于 ftp的下载

import  ftplib
import  os
import  socket
import  sys

HOST=‘192.168.216.193‘
DIRN=‘c:\\ftp\FTP.123‘
FILE=‘FTP.123‘
USER_NAME=‘123‘
PWD=‘123‘
def    Downloadfile(file_name):
   try:

      f=ftplib.FTP(HOST)
   except(sockt.error, socket.gaierror)  as  e:
       print (‘error:  cannot  reach %s‘ % HOST)
       return

   print (‘**** connected  to host  %s‘ % HOST) 

   try:
       f.login(USER_NAME,PWD)
   except ftplib.error_perm:
       print(‘ERROR:cannot  login  USER_NAME=%s,PWD=%s‘%(USER_NAME,PWD))
       f.quit()
       return
   print(‘***  logined  in as  %s ‘ % USER_name)
   try:
      f.cwd(DIRN)
   except  ftplib.error_perm:
       print (‘error :cannot  cd  to %s‘% RIRN)
       f.quit()
       return
    try:
        file=open(file_name, ‘wb‘)
        f.retrbinary(‘RETR %s‘ %file_name,file.write)
        file.close()
    except ftplib.error_perm:
        print(‘error !!‘)
        os.unlink(filename)
        file.close()
    else:
        print  (‘**** downloaded  %s to %s‘%(file_name ,os.getcwd()))
    f.quit
    return

Downloadfile(123.txt)
> import ftplib
>>> f=ftplib.FTP(‘192.168.216.193‘)

>>> f=ftplib.FTP(‘192.168.216.193‘)
>>> f.login(‘123‘,‘123‘)
‘230 User successfully logged in.‘
>>> f.cwd(‘FTP.123‘)
‘250 "/ftp.123" is current directory.‘
>>> f.retrbinary(‘RETR 123.txt‘,open(‘c:\\123.txt‘,‘wb‘).write)
‘226 Transfer complete‘

网上其他人写的脚本

#!/usr/bin/env python
# -*- coding: utf-8 -*-
from ftplib import FTP
def ftp_up(filename = "20120904.rar"):
  ftp=FTP()
  ftp.set_debuglevel(2)
  #打开调试级别2,显示详细信息;0为关闭调试信息
  ftp.connect(‘192.168.0.1‘,‘21‘)
  #连接
  ftp.login(‘admin‘,‘admin‘)
  #登录,如果匿名登录则用空串代替即可
  #print ftp.getwelcome()
  #显示ftp服务器欢迎信息
  #ftp.cwd(‘xxx/xxx/‘)
  #选择操作目录
  bufsize = 1024
  #设置缓冲块大小
  file_handler = open(filename,‘rb‘)
  #以读模式在本地打开文件
  ftp.storbinary(‘STOR %s‘ % os.path.basename(filename),file_handler,bufsize)
  #上传文件
  ftp.set_debuglevel(0)
  file_handler.close()
  ftp.quit()
  print "ftp up OK"
def ftp_down(filename = "20120904.rar"):
  ftp=FTP()
  ftp.set_debuglevel(2)
  ftp.connect(‘192.168.0.1‘,‘21‘)
  ftp.login(‘admin‘,‘admin‘)
  #print ftp.getwelcome()
  #显示ftp服务器欢迎信息
  #ftp.cwd(‘xxx/xxx/‘)
  #选择操作目录
  bufsize = 1024
  filename = "20120904.rar"
  file_handler = open(filename,‘wb‘).write
  #以写模式在本地打开文件
  ftp.retrbinary(‘RETR %s‘ % os.path.basename(filename),file_handler,bufsize)
  #接收服务器上文件并写入本地文件
  ftp.set_debuglevel(0)
  file_handler.close()
  ftp.quit()
  print "ftp down OK
时间: 2024-08-14 01:05:37

Python ftplib 模块关于 ftp的下载的相关文章

Python ftplib模块

Help on module ftplib: NAME ftplib - An FTP client class and some helper functions. 名字: ftplib 模块 - 一个FTP客户端类 和 一些辅助的方法 FILE c:\python27\lib\ftplib.py DESCRIPTION Based on RFC 959: File Transfer Protocol (FTP), by J. Postel and J. Reynolds Example: >

python使用ftplib模块实现FTP文件的上传下载

python已经默认安装了ftplib模块,用其中的FTP类可以实现FTP文件的上传下载 FTP文件上传下载 # coding:utf8 from ftplib import FTP def upload(f, remote_path, local_path): fp = open(local_path, "rb") buf_size = 1024 f.storbinary("STOR {}".format(remote_path), fp, buf_size) f

python ftplib模块编写简单的ftp服务

1 from ftplib import * 2 import os,readline 3 import sys 4 class MyFtp: 5 ftp = FTP() #建立一个ftp对象的链接 6 def __init__(self, host, port='21'): #构造函数初始化 7 self.ftp.connect(host=host,timeout=100) #连接ftp服务器 8 def Login(self, user, passwd): #登录函数 9 self.ftp.

python之模块ftplib(实现ftp上传下载代码)

# -*- coding: utf-8 -*- #python 27 #xiaodeng #python之模块ftplib(实现ftp上传下载代码) #需求:实现ftp上传下载代码(不含错误处理) from ftplib import FTP def ftpconnect(): ftp_server='ftp.python.org' ftp=FTP() ftp.set_debuglevel(2)#打开调式级别2 ftp.connect(ftp_server,21) ftp.login('',''

python之模块ftplib(FTP协议的客户端)

# -*- coding: utf-8 -*- #python 27 #xiaodeng #python之模块ftplib(FTP协议的客户端) #需求:快速进行ftp上传 ,下载,查询文件 from ftplib import FTP ftp = FTP() #设置变量 timeout = 30 port = 21 ftp.connect('192.168.1.188',port,timeout) # 连接FTP服务器 ftp.login('UserName','888888') # 登录 p

python网络编程socket模块实现ftp上传下载

本实验实现ftp上传文件下载文件功能,并具有校验文件完整性,打印进度条功能, 主要练习socket,struct模块. ftp用户文件存放在user.json文件中 user.json文件内容 {"lisi": "abcdef", "hyh": "123456"} ftp客户端脚本ftpclient.py #!/usr/bin/python # --*-- coding: utf-8 --*-- import socket i

Python之ftplib模块

一.引言: 某一天,开发哥们跟我反映lftp和java写的ftp程序下载文件有问题,具体情况如下:当一个大于1G的文件已经下载完毕以后一直出现夯住的情况.为了重现开发哥们所说情况,我就自己用pytho写了一个ftp的脚本,其中就有调用ftplib模块.下面重点介绍一下ftplib模块. 二.ftplib模块介绍: ftplib是python的内置的一个标准模块,它提供了极强大的对FTP服务器的操作,通过它我们可以连接并操作FTP服务端. #!/usr/bin/env python # -*- c

python及其模块下载集合

1)python平台 https://www.python.org/downloads/ 2)打包工具 cx-freeze(python3以上版本打包工具) http://cx-freeze.sourceforge.net/ py2exe http://sourceforge.net/projects/py2exe/files/py2exe/ Pyinstaller http://www.pyinstaller.org/ ensymble(电脑端pythonS60打包工具) http://cod

学习python argparse模块下载安装和使用

Python中argparse模块已经替代以前的optparse模块,常被用来实现命令行参数和选项的解析作用. 位置参数: 从一个最基本的程序开始(它并没有实现什么现实的功能): import argparseparser = argparse.ArgumentParser()parser.parse_args() 下面是运行之后的结果: $ python prog.py$ python prog.py --helpusage: prog.py [-h]optional arguments: