티스토리 뷰

 

FTP 테스트 프로그램

 

<소스 코드>

from ftplib import FTP
import os
# FTPTest02

FTPADDRESS = ....
FTPUSER  = ....
FTPPASSWORD = ....

def get_list_ftp(ftp, cwd, files=[], directories=[]):
    data = []
    ftp.cwd(cwd)
    ftp.dir(data.append)
    for item in data:
        pos = item.rfind(' ')
        print('[item]', item)
        item_ = item.split(" ")
        for item_2 in item_:
            name = cwd + item_2
        if item.startswith("d"):
            directories.append(name)
            get_list_ftp(ftp, name+'/', files, directories)
        else:
            files.append(name)
        return files, directories
    
def get_list_local(path, files=[], directories=[]):
    for file in os.listdir(path):
        item = path + file
        if os.path.isdir(item):
            directories.append(item + "\\")
            get_list_local(item + "\\", files, directories)
        else:
            files.append(item)
    return files, directories

with FTP(FTPADDRESS) as ftp:
    ftp.set_debuglevel(1)
    ftp.login(FTPUSER, FTPPASSWORD)
    upload_path = "D:\\ftptest\\upload\\"
    files, directories = get_list_ftp(ftp, '/')

    print("<Directory List>")
    for directory in directories:
        print(directory)
    print("<File List>")
    for file in files:
        print(file)

<결과 화면>

반응형