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)