一発で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サーバにアクセスできるようになりました
コメント