Change directory on server before uploading files with ftplib in Python
Asked Answered
H

1

9

I have this code, but I can't figure out how to change directory on the server before uploading files.

Can anyone help me out?

import ftplib
import os

server = 'enter your servername here'
username = 'root'
password = 'passowrd'
myFTP = ftplib.FTP(server, username, password)
myPath = r'C:\path_of_the_folder_goes_here'
def uploadThis(path):
    files = os.listdir(path)
    os.chdir(path)
    for f in files:
        if os.path.isfile(path + r'\{}'.format(f)):
            fh = open(f, 'rb')
            myFTP.storbinary('STOR %s' % f, fh)
            fh.close()
        elif os.path.isdir(path + r'\{}'.format(f)):
            myFTP.mkd(f)
            myFTP.cwd(f)
            uploadThis(path + r'\{}'.format(f))
    myFTP.cwd('..')
    os.chdir('..')
uploadThis(myPath)
Heyer answered 1/5, 2017 at 10:52 Comment(0)
E
25

Use FTP.cwd method:

myFTP.cwd('/remote/path')

before you call

uploadThis(myPath)
Econometrics answered 1/5, 2017 at 12:3 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.