一発でFTPサーバーにアップロードとダウンロードをしたく、いちいちプログラムを記述するのがめんどいためモジュール化してみた
プログラム
# -*- coding: utf-8 -*-
#!/usr/bin/env python
from ftplib import FTP
def connect_ftp(Host_address, User_id, Password, Port, Timeout):
return FTP(Host_address, User_id, Password, Port, Timeout)
#ダウンロード
def retr(Host_address, User_id, Password, Port, Timeout, dwnfile, ftpfile):
ftp = connect_ftp(Host_address, User_id, Password, Port, Timeout)
f = open(dwnfile, 'wb')
ftp.retrbinary("RETR " + ftpfile, f.write)
f.close()
ftp.close()
#アップロード
def stor(Host_address, User_id, Password, Port, Timeout, upfile, ftpfile):
ftp = connect_ftp(Host_address, User_id, Password, Port, Timeout)
f = open(upfile, 'rb')
ftp.storlines("STOR " + ftpfile, f)
f.close()
ftp.close()
if __name__ == '__main__':
date1_file = 'hogehoge'
date2_file = 'samplesample'
Host_address = '192.168.0.0'#ホスト名(アドレス)
User_id = 'hogehoge'#ユーザー名
Password = 'hogehogepass'#パスワード
Port = 21 #ポート番号 初期値は21
Timeout = 500 #タイムアウト(秒)
#retr(Host_address, User_id, Password, Port, Timeout, date1_file, date2_file)
#stor(Host_address, User_id, Password, Port, Timeout, date1_file, date2_file)
使い方
※ここでは上記のファイルをFTPService.pyとしています!
FTPサーバーからダウンロードする場合
FTPService.retr("FTPアドレス", "ユーザー名", "パスワード", "ポート番号", "タイムアウト", "保存するファイル名", "FTPにあるファイル名")
FTPサーバーにアップロードする場合
FTPService.stor("FTPアドレス", "ユーザー名", "パスワード", "ポート番号", "タイムアウト", "アップロードするファイル名", "FTPに保存するファイル名")
これでこのプログラムをインポートすれば簡単にFTPサーバにアクセスできるようになりました