ftp script upload   1   2231
Uploading a file to FTP server using Python

In this article we will see how to connect to, login and upload a file to FTP server using python.

We will require a publicly available FTP server to test our code. You can use below details for same.

FTP URL: ftp.dlptest.com
FTP User: dlpuser@dlptest.com
Password: e73jzTRTNqCN9PYAAjjn

If above details are not working or are outdated, let us know by commenting below so that we can update the article. Meanwhile you can search other FTP server details publicly available over the Internet.

We will use ftplib python module.

from ftplib import FTP

Define host, username and password.

host = "ftp.dlptest.com"
username = "dlpuser@dlptest.com"
password = "e73jzTRTNqCN9PYAAjjn"
since these details are publicly availabe, we need not to worry about storing them in env or in config file.

Create a connection.

ftp = FTP(host=host)

Login to FTP server.

login_status = ftp.login(user=username, passwd=password)

Now create a dummy file in your current directory.

echo 'Hi Rana' > rana_ftp.txt

Print the content of current directory on FTP server and upload the txt file.

fp = open("rana_ftp.txt", 'rb')
ftp.storbinary('STOR %s' % os.path.basename("rana_ftp.txt"), fp, 1024)

Print the content of current directory on FTP again after uploading file. 

ftp file upload python 1

You can verify via browser by visiting the link ftp://ftp.dlptest.com/.

ftp file upload python 1 1

If you need to upload the file in some other directory, change to that directory using ftp.cwd('dirname').

Here we have uploaded the file to upload directory.

ftp file upload python 2

ftp file upload python 2 2

Complete code is below.

# Sample python program showing FTP connection and
# how to upload any file to a FTP server
# Author - https://www.pythoncircle.com

from ftplib import FTP
import os

host = "ftp.dlptest.com"
username = "dlpuser@dlptest.com"
password = "e73jzTRTNqCN9PYAAjjn"

# connect to host on default port i.e 21
ftp = FTP(host=host, user=username, passwd=password)
login_status = ftp.login()

# change directory to upload
# print the content of directory
fp = open("rana_ftp.txt", 'rb')
# upload file
ftp.storbinary('STOR %s' % os.path.basename("rana_ftp.txt"), fp, 1024)


1. https://docs.python.org/3/library/ftplib.html
ftp script upload   1   2231

Related Articles:
Python Script 13: Generating ascii code from Image
Generating ascii art from image, converting colored image to ascii code, python script to convert image to ascii code, python code to generate the ascii image from jpg image....
Python Script 1: Convert ebooks from epub to mobi format
Python script to convert the ebooks from one format to another in bulk. Automated book conversion to kindle format. Free kindle ebook format conversion....
Python Script 8: Validating Credit Card Number - Luhn's Algorithm
Validating credit card number using Luhn' Algorithm, Verifying Credit and Debit card using python script, Python code to validate the credit card number, Luhn' algorithm implementation in Python...
Python Script 9: Getting System Information in Linux using python script
Finding linux system information like processor details, memory usage and average load using python script. Python program to find Ubuntu information....

1 thought on 'Uploading A File To Ftp Server Using Python'
Jana :
your login details are not working. Kindly update it

Leave a comment:

*All Fields are mandatory. **Email Id will not be published publicly.

Please subscribe to get the latest articles in your mailbox.

Recent Posts:

© pythoncircle.com 2018-2019
Contact Us: code108labs [at] gmail.com
Address: 3747 Smithfield Avenue, Houston, Texas