ftplibを使う(2) | Pythonでなんか作ってみる

ftplibを使う(2)

やっぱり機能のコードは間違っていた。

def rnlst(ftp, base_dir, sub_dir='.'):
ret = []
items = []
ftp.dir('/'.join(base_dir,sub_dir), items.append)
for i in items:
if i[0] != '-' and i[0] != 'd': continue
item = (i[0], '/'.join(sub_dir,i.split()[-1]))
if item[0] == '-':
ret.append(item)
else:
sub = rnlst(ftp, base_dir, item[1])
if len(sub) > 0:
ret.append(item)
ret += sub
return ret


とはいえ、手元にすぐ使えるFTPサーバが無いので、やっぱり試していないわけだけど。