how-to ftp script upload   0   164
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)
print(login_status)


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.

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

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()
print(login_status)

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

print(ftp.dir())


Reference:
1. https://docs.python.org/3/library/ftplib.html
how-to ftp script upload   0   164

Related Articles:
Python Script 3: Validate, format and Beautify JSON string Using Python
Validating json using python code, format and beautify json file using python, validate json file using python, how to validate, format and beautify json...
Encryption-Decryption in Python Django
How to encrypt and decrypt the content in DJango. Encrypting the critical information in Django App. Encrypting username, email and password in Django...
Adding Robots.txt file to Django Application
Adding robots.txt file in your Django application. Easiest way to add robots.txt file. Django application robots.txt file. Why should you add robots.txt file in your Django Application....
Solving Django error 'NoReverseMatch at' URL with arguments '()' and keyword arguments '{}' not found.
Solving Django error 'NoReverseMatch at' URL with arguments '()' and keyword arguments '{}' not found, URL not found in Django, No reverse match in Django template error...

0 thoughts on 'Uploading A File To Ftp Server Using Python'
Leave a comment:


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


SUBSCRIBE
Please subscribe to get the latest articles in your mailbox.



Recent Posts:






© pythoncircle.com 2018-2019