【python3】楽天FTPへアップロードしよう。

python3でFTPアップロードをしよう。

最高の6ヶ月!超実践型プログラミングスクール【.pro】

FTPRUSHを使えばタイマーで時間を指定してアップロードすることも出来ますが、
pythonでプログラミングして作ればファイルのアップロードが終わり次第、次のファイルをアップロードする等のカスタマイズをすることが出来ます。

FTPRUSHについての記事はこちら↑↑

さて、今回はサクッと楽天向けに作った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】

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です