ホームページ >バックエンド開発 >Python チュートリアル >FTP を使用して Python でファイルをアップロードする方法
FTP は、ファイル転送プロトコル (File Transfer Protocol) であり、ネットワーク上でファイルを転送するための標準プロトコルです。 FTP クライアントは、ローカルからサーバーにファイルをアップロードしたり、サーバーからローカルにファイルをダウンロードしたりできます。
Python は、Python で FTP クライアント機能を実装するための標準ライブラリ ftplib を提供します。 ftplib を使用すると、FTP サーバーに接続し、ファイルのアップロードやダウンロードなどのさまざまな FTP 操作を実行できます。
以下は、Python を使用して FTP 経由でファイルをアップロードするためのサンプル コードです。
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()
まず、ftplib モジュールと argparse モジュールをインポートします。
次に、FTP サーバーに接続するための ftpconnect 関数を定義します。この関数には、ホスト (FTP サーバーの IP アドレスまたはドメイン名)、ユーザー名 (ユーザー名)、パスワード (パスワード) の 3 つのパラメーターが必要です。この関数は FTP オブジェクトを返します。
次に、ローカルから FTP サーバーにファイルをアップロードするために使用される、uploadfile 関数が定義されます。この関数には、ftp (FTP オブジェクト)、remotepath (FTP サーバーにアップロードされたパス)、および localpath (ローカル ファイル パス) の 3 つのパラメータが必要です。この関数はローカル ファイルを開き、FTP オブジェクトの storbinary メソッドを使用してファイルをアップロードし、最後にローカル ファイルと FTP 接続を閉じます。
最後に、argparse モジュールを使用してコマンド ライン パラメーターを解析します。コマンド ライン パラメータには、FTP サーバーの IP アドレス、ユーザー名、パスワード、ローカル ファイル パス、および FTP サーバーにアップロードするパスが含まれます。 main 関数では、最初に ftpconnect 関数を呼び出して FTP サーバーに接続し、次に、uploadfile 関数を呼び出してファイルをアップロードし、最後に FTP 接続を閉じます。
実行結果
上記のコードを ftp_upload.py として保存し、コマンド ラインで次のコマンドを実行します。
python ftp_upload.py --ip 192.168.1.100 --user ftpuser --password ftppass --localFileName localfile.txt --fileName remotefile.txt
ここで、192.168.1.100 は FTP サーバーの IP です。アドレス、ftpuser は FTP ユーザー名、ftppass は FTP パスワード、localfile.txt はローカル ファイルです。
以上がFTP を使用して Python でファイルをアップロードする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。