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

How to use FTP to upload files in Python

WBOY
Release: 2023-04-29 09:49:13
forward
3160 people have browsed it

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()
Copy after login

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
Copy after login

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!

Related labels:
source:yisu.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template