python ftp text読み込みを作ってみる
x-serverで、フォルダーpublic_html/xxxx/data/にある
*.json
を取得
直接ファイルに落とす場合
from ftplib import FTP import glob ftp = FTP( "sv22xx.xserver.jp", "aaa@xxxx.xsrv.jp", passwd="xxxx" ) def mid(text, n, m): return text[n-1:n+m-1] items = ftp.nlst('/xxxx.xsrv.jp/public_html/xxxx/data/*.json') print(items) for row in items: # f.write(row + '\n') # 標準出力に惑わされないようファイルにも出力 st1 = mid(row, len("/xxxx.xsrv.jp/public_html/xxxx/data/")+1 , len(row)-len("/xxxx.xsrv.jp/public_html/xxxx/data/") ) print(st1) print(row) with open("data2/"+st1, "w") as f: ftp.retrlines("RETR "+row, f.write) # フォルダー内のファイル一覧表示 filelist=glob.glob('data2/*.json') print (filelist) for file in filelist: print(file)
ファイルにおとさずに、変数に取り込む場合
参考
from ftplib import FTP import glob ftp = FTP( "sv22xx.xserver.jp", "aaa@xxxx.xsrv.jp", passwd="xxxx" ) def mid(text, n, m): return text[n-1:n+m-1] items = ftp.nlst('/xxxx.xsrv.jp/public_html/xxxx/data/*.json') print(items) for row in items: st1 = mid(row, len("/xxxx.xsrv.jp/public_html/xxxx/data/")+1 , len(row)-len("/xxxx.xsrv.jp/public_html/xxxx/data/") ) print(st1) print(row) ret = list() with open("data2/"+st1, "w") as f: #retに読み込んだ内容を追加 ftp.retrlines("RETR "+row, ret.append) for line in ret: print(line)