僕がデータ分析者として覚醒するまで

しがない会社員がデータ分析者として覚醒するまでのブログ

【備忘録】pythonを使ってftp接続し、最新フォルダを取得する

概要

  • ftp接続し、最新フォルダを取得する。

覚書

  • ftplibでftp接続しフォルダにアクセスする。
  • フォルダは自動生成され、フォルダ名称はint型の数値でインクリメントされたものになる。
  • ファイルとフォルダの判断は、.(ピリオド)の有無で行っている。

Code

  • 最新フォルダを取得するまで
from ftplib import *

ftp = FTP('192.168.1.1')
ftp.login()
ftp.cwd('LOGGING/FOLDER')

def select_folder():
    # カレントディレクトリからフォルダを探し、folder_listに格納する
    folder_list = []
    for object_name in ftp.nlst():
        if '.' in object_name:
            print('{}はファイルです。'.format(object_name))
        else:
            print('{}はフォルダです。'.format(object_name))
            folder_list.append(object_name)
        accsess_folder = 0
    
    # folder_listをint型に変更し、数値が最も大きいものをアクセスするフォルダとしてreturnする。
    for folder_name in folder_list:
        print(int(folder_name))
        if int(accsess_folder) < int(folder_name):
            accsess_folder =folder_name
    
    print('最新のフォルダは{}です。'.format(accsess_folder))
    
    return accsess_folder

ftp.cwd(select_folder())

懸念点

  • エラー処理全くなし
  • フォルダ数が増えたときにどうしよう

なぜ作ったか

  • 会社のおじさんにこういうのできないって言われたから
  • 30minで作ったけど、ここからおじさんは改良できるんだろうか