Python一例。

來源:互聯網
上載者:User

# ftptest.py - An example application using Python's ftplib module.
# Author: Matt Croydon <matt@ooiio.com>, referencing many sources, including:
#   Pydoc for ftplib: http://web.pydoc.org/2.2/ftplib.html
#   ftplib module docs: http://www.python.org/doc/current/lib/module-ftplib.html
#   Python Tutorial: http://www.python.org/doc/current/tut/tut.html
# License: GNU GPL.  The software is free, don't sue me.
# This was written under Python 2.2, though it should work with Python 2.x and greater.

# Import the FTP object from ftplib
from ftplib import FTP

# This will handle the data being downloaded
# It will be explained shortly
def handleDownload(block):
    file.write(block)
    print ".",
   
# Create an instance of the FTP object
# Optionally, you could specify username and password:
# FTP('hostname', 'username', 'password')
ftp = FTP('ftp.cdrom.com')

print 'Welcome to Matt's ftplib example'
# Log in to the server
print 'Logging in.'
# You can specify username and password here if you like:
# ftp.login('username', 'password')
# Otherwise, it defaults to Anonymous
print ftp.login()

# This is the directory that we want to go to
directory = 'pub/simtelnet/trumpet/winsock'
# Let's change to that directory.  You kids might call these 'folders'
print 'Changing to ' + directory
ftp.cwd(directory)

# Print the contents of the directory
ftp.retrlines('LIST')

# Here's a file for us to play with.  Remember Trumpet Winsock?
filename = 'winap21f.zip'

# Open the file for writing in binary mode
print 'Opening local file ' + filename
file = open(filename, 'wb')

# Download the file a chunk at a time
# Each chunk is sent to handleDownload
# We append the chunk to the file and then print a '.' for progress
# RETR is an FTP command
print 'Getting ' + filename
ftp.retrbinary('RETR ' + filename, handleDownload)

# Clean up time
print 'Closing file ' + filename
file.close()

print 'Closing FTP connection'
print ftp.close()

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.