Home  >  Article  >  Backend Development  >  How to use FTP to upload files in Python

How to use FTP to upload files in Python

WBOY
WBOYforward
2023-04-29 09:49:133095browse

FTP Introduction

FTP is the File Transfer Protocol (File Transfer Protocol), which is a standard protocol for file transfer on the network. FTP client can upload files from local to server or download from server to local.

ftplib module

Python provides a standard library ftplib for implementing FTP client functions in Python. Using ftplib, we can connect to the FTP server and perform various FTP operations, such as uploading and downloading files, etc.

Code explanation

The following is a sample code for uploading files through FTP using Python:

from ftplib import FTP

import argparse

def ftpconnect(host, username, password):
    ftp = FTP()
    ftp.connect(host, 21)
    ftp.login(username, password)
    return ftp

#从本地上传文件到ftp
def uploadfile(ftp, remotepath, localpath):
    bufsize = 1024
    fp = open(localpath, 'rb')
    ftp.storbinary('STOR ' + remotepath, fp, bufsize)
    ftp.set_debuglevel(0)
    fp.close()

if __name__ == "__main__":
    parser = argparse.ArgumentParser()
    parser.add_argument('--ip', type=str, default = None)
    parser.add_argument('--user', type=str, default = None)
    parser.add_argument('--password', type=str, default = None)
    parser.add_argument('--localFileName', type=str, default = None)
    parser.add_argument('--fileName', type=str, default = None)
    args = parser.parse_args()
    ftp = ftpconnect(args.ip,args.user ,args.password)
    uploadfile(ftp, "/home/"+args.fileName, args.localFileName)
    ftp.quit()

First, we import the ftplib module and argparse module.

Next, a ftpconnect function is defined to connect to the FTP server. This function requires 3 parameters: host (FTP server IP address or domain name), username (username), password (password). The function returns an FTP object.

Next, an uploadfile function is defined, which is used to upload files from the local to the FTP server. This function requires 3 parameters: ftp (FTP object), remotepath (path uploaded to FTP server) and localpath (local file path). The function opens a local file, uploads the file using the storbinary method of the FTP object, and finally closes the local file and FTP connection.

Finally, use the argparse module to parse command line parameters. The command line parameters include the IP address of the FTP server, user name, password, local file path, and path to upload to the FTP server. In the main function, first call the ftpconnect function to connect to the FTP server, then call the uploadfile function to upload the file, and finally close the FTP connection.

Run results

We can save the above code as ftp_upload.py and execute the following command in the command line:

python ftp_upload.py --ip 192.168.1.100 --user ftpuser --password ftppass --localFileName localfile.txt --fileName remotefile.txt

where 192.168.1.100 is the FTP server IP address, ftpuser is the FTP username, ftppass is the FTP password, and localfile.txt is the local file.

The above is the detailed content of How to use FTP to upload files in Python. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:yisu.com. If there is any infringement, please contact admin@php.cn delete