프로그래밍/Python

FTP Sending From Memory (Python)

bluecandyg 2022. 8. 17. 13:45
  • 압축 상태의 파일을 물리적 경로에 해제하지 않고 메모리에 해제 후 FTP 전송
def Sending_FTP_Server(news_id, xml_string : str, json_zip_file_path):
    
    logger.info('# FTP SENDING START.')

    session = ftplib.FTP()
    session.connect('10.101.33.xxx', 21)
    session.login('xxxxx', 'xxxxx')
    session.encoding = 'UTF-8'

    with zipfile.ZipFile(json_zip_file_path, 'r') as json_zip_file:
        for file_name in json_zip_file.namelist():
            
            bytes_io = io.BytesIO()

            if '.json' in file_name.lower():
                bytes_io.write(xml_string.encode())
                bytes_io.seek(0)
                session.storbinary('STOR ' + f'/Gisa/{news_id}.xml', bytes_io)
            else:
                zip_data = json_zip_file.read(file_name)
                bytes_io.write(zip_data)
                bytes_io.seek(0)
                session.storbinary('STOR ' + f'/Gisa/{file_name}', bytes_io)

    session.quit()

    logger.info('# FTP SENDING SUCCESS')

    return True

'프로그래밍 > Python' 카테고리의 다른 글

[Python3] ZIP Function  (0) 2023.01.12
Using Slack Webhook in Python  (0) 2022.08.17
Using Rotating-Logging in Python  (0) 2022.08.17
Zip Extract on Memory (Python)  (0) 2022.08.17
Python 실행 파일 만들기  (0) 2021.06.29