FTPダウンロードアップロード

2800 ワード

【ダウンロード】
import ftplib

host = '127.0.0.1' #  FileZilia Server        
username = 'li'    #       
password = '110'   #      
file = '12.txt'    #             

f = ftplib.FTP(host)  #    FTP  
f.login(username, password)  #   

#       
pwd_path = f.pwd()    #               ,/
print("FTP    :", pwd_path)

def ftp_download():
    '''          '''
    file_remote = '12.txt'   #       
    file_local = 'D:\\test_data\\ftp_download.txt'   #         
    bufsize = 1024  #        
    fp = open(file_local, 'wb')
    f.retrbinary('RETR %s' % file_remote, fp.write, bufsize)
    fp.close()

ftp_download()

【Unittest】

import ftplib
import unittest
import os
import sys

#FTP   IP/   /  
host = '127.0.0.1'
port = 21
username = 'lin'
password = '310'
file = '12.txt'

ftp = ftplib.FTP(host)  
ftp.connect(host,port)
ftp.login(username, password)  #   
  

def ftp_download(ftp,file_remote,file_local,bufsize):
    '''          '''
    #file_remote = '6.BMP'
    #file_local = 'D:\\test_data\\'+file_remote
    #bufsize = 1024  #        
    with open(file_local, 'wb') as f: 
        ftp.retrbinary('RETR %s' % file_remote, f.write, bufsize)
        f.close()

#TEST
class TestDownloader(unittest.TestCase):

    def setUp(self):
        print('setUp')


    def test_download(self):
        file_remote = '6.BMP'
        file_local = 'D:\\test_data\\'+file_remote
        bufsize = 1024  #        
        ftp_download(ftp,file_remote,file_local,bufsize)
        #path=os.path
        print(sys.argv[0])
        print(__file__)

    def tearDown(self):
        print('tearDown')

if __name__ == '__main__':
    unittest.main()

**

1、

ftp.connect( "IP" , "port" )          # ftp sever ( , , false.) ftp.login( "user" , "password" )      # ,