適当にftplib

作業の際に、FTPで他のコンピュータから頻繁にファイルを持ってくることがあります。
いちいちftpコマンドでがちゃがちゃやるのも面倒なので、
所望のファイルを適当に拾ってくるスクリプトを組みました。
といって、書いたスクリプトは個人情報やら変なコメントやらがあったので
書きなおし。例外処理は面倒なんで無かったり。

import getpass, ftplib, sys

filename = "test.txt" # 取得するファイル名
host = ***** # host名
output_file = "out.txt" # ローカルでのファイル名

print u"passwordを入れてください"
passwd = getpass.getpass() # パスワードを求める(入力させる)
username = getpass.getuser() # ユーザー名の取得

ftp = ftplib.FTP(host)
ftp.login(username, passwd)
f = open(output_file, "w")
ftp.retrbinary("RETR %s" % filename, f.write) # ファイルの内容を転送
ftp.close()
f.close()

getpassモジュールが便利ですね。
最初知らなくて、inputとかでやりそうになってた。危ない。
ftplibは、hostを与えたFTPクラスを作って、ログインしてファイルに書きこむってかんじかな。
あんまり使い勝手が良くないような?
実際のスクリプトでは、ftpを操作する度に例外処理してたりします。