最高の6ヶ月!超実践型プログラミングスクール【.pro】
FTPRUSHを使えばタイマーで時間を指定してアップロードすることも出来ますが、
pythonでプログラミングして作ればファイルのアップロードが終わり次第、次のファイルをアップロードする等のカスタマイズをすることが出来ます。
さて、今回はサクッと楽天向けに作ったpythonコードをご紹介します。
pythonでFTPを実行するには「ftplib」という標準モジュールを使います。
楽天GOLDの一括変更へアップロードするプログラムはこのようになります。
from ftplib import FTP
#==========================編集項目==========================
Host_address = 'upload.rakuten.ne.jp'#ホスト名(アドレス)
User_id = '〇〇〇〇〇〇'#ユーザー名
Password = '〇〇〇〇〇〇'#パスワード
#アップロード先のフォルダ
ftp_url = 'ritem/batch'
#アップロードするファイル名
upload_filename = '〇〇〇〇.csv'
Port = 21 #ポート番号
Timeout = 1000 #タイムアウト(秒)
#==========================編集項目==========================
ftp = FTP()
ftp.connect(host=Host_address, port=Port, timeout=Timeout)
ftp.login(user=User_id, passwd=Password)
fp = open(upload_filename, 'rb') #アップロードするファイル名
#ファイルをアップロード
ftp.storbinary('STOR ' + ftp_url + '/' + upload_filename,fp) #ホスト側のディレクトリ
fp.close()
ftp.close()
編集項目内がいつものFTPソフトで入力している設定になります。
csvファイル(ZIPファイルなど)のアップロードには「ftp.storbinary」使います。
ちなみにテキストファイルのアップロードだと
fp = open(upload_filename, 'rb') #アップロードするファイル名
ftp.storlines('STOR ' + ftp_url + '/' + upload_filename,fp) #ホスト側のディレクトリ
を使います。
「 ftp.nls 」 を使うとFTPのファイル一覧が取得できるのでアップロードが完了しているかの確認をすることができます。
# ファイル一覧の取得.
ftplist = ftp.nlst(".")
printftplist # ['item.csv', 'select.csv']
FTP のファイルのアップロードやダウンロードなど、自動で色々できそうですね!
是非試してみて下さい!
最高の6ヶ月!超実践型プログラミングスクール【.pro】