ftplibはFTPアップロードおよびダウンロード機能を実装しています

FTPサーバーのデフォルトのポート番号は21です。

この記事の参照アドレス:https : //docs.python.org/3.6/library/ftplib.html

1. ftplibにはFTPおよびFTP_TLS两个class,后者是封装了TLS安全传输协议的FTP,本文不多描述,查看官网即可,很简单。

2. ftplib.FTPクラスは、FTPプロトコルクライアントをシミュレートするクラスであり、このクラスを使用して、データのアップロードやダウンロードなど、FTPサーバーとのさまざまな対話を実行できます。

3. FTPデータ転送には、ASCIIとバイナリ形式の2つのモードがあり、一般的に言えば、バイナリ形式の使用がより一般的で、より適切なシナリオです。したがって、FTPクラスの最も一般的に使用される4つのメソッドは、実際には次のとおりです。

  • FTP.storbinarycmd fp blocksize = 8192 callback = None rest = None     
  • FTP.storlinescmd fp callback = None   
  • FTP.retrbinarycmd callback blocksize = 8192 rest = None    
  • FTP.retrlinescmd callback = None  

その中でも、storbinaryとretrbinaryは、バイナリデータ転送の方法です。

FTP数据下载:

一般来说,生产上会将ftp用户的访问权限限定在自己的家目录下(可通过修改/etc/vsftpd.conf来改变此行为模式)。

#FTPクラスはwithステートメントをサポートします。例:
from ftplib import FTP 
with FTP( '<ftp server IP>'、 'user'、 'passwd')as c、\ 
	open( '<local filename / fullpath_filename>'、 ' wb ')as f:
	c.retrbinary(' RETR <remote ftpserver filename> '、f.write)
#ホスト、ユーザー、およびpasswdパラメータを直接使用してFTPを初期化します。これは、FTP.connect()を実行するのと同じです。
#f.closedがTrueの場合、ファイルが自動的に閉じられたことを知るのは一般的にそれほど面倒ではありません。

FTPクラスは、Pythonコンテキストのwith構文をサポートします。この構文はPythonで一般的に推奨されており、関連オブジェクトのコンテキストを自動的に処理するのに役立ちます。つまり、関連オブジェクトを自動的に閉じ、終了または終了を忘れないようにすることができます。

retrの最初にあるメソッドの2つの主要なパラメーターはcmdとコールバックです。前者はファイルを取得するコマンドです。形式は「RETRファイル名」です。後者はコールバック関数で、通常openfile.writeです。これは、関連するデータストリームがopenファイル、ファイルを開く方法は、使用するretrメソッドに依存します。たとえば、retrbinary()は 'wb'を使用してファイルを開くことができます。

FTPデータのアップロード:

対応するデータアップロード関数は、storで始まる2つの関数、storbinaryとstorlinesです。それでも、前者を使用することをお勧めします。Binaryは常により信頼されています。

ftplibからインポートFTP 
とFTP( '<ftp server IP>'、 'user'、 'passwd')as c、\ 
	open( '<remote ftpserver filename>'、 'wb')as f:
	c.storbinary( 'STOR <ローカルファイル名/フルパスファイル名> '、f)

同様に、アップロードされたファイルのCMD形式は「STORファイル名」です。

retr関数はコールバック関数を使用して、ダウンロードするファイルをローカルのオープンファイルに書き込み、stor関数はサーバー側でファイルを開いてから、アップロードするデータを書き込むことに注意してください。

その他:

FTPサーバーの一般的な戻りコードについては、https://kb.globalscape.com/Knowledgebase/10142/FTP-Status-and-Error-Codesを参照してください。

おすすめ

転載: www.cnblogs.com/leohahah/p/12704292.html