从3个ftp站点下载文件 [英] download file from 3 ftp sites
问题描述
我在文本文件中有一个ftp站点列表(例如:5),我需要从ftp站点下载最后创建的文件。这可能吗。这是我的代码:
import os
< span class =code-keyword>来自 ftplib import FTP
ftp = FTP( xxx.xx.xx.xx1, USERNAME1, PASSWORD1)
ftp = FTP( xxx.xx.xx.xx2, USERNAME2, PASSWORD2 )
ftp = FTP( xxx.xx.xx.xx3 , USERNAME3, PASSWORD3)
ftp = FTP( xxx.xx.xx.xx4, USERNAME4, PASSWORD4)
ftp = FTP( xxx.xx.xx.xx5, USERNAME5, PASSWORD5)
ftp.login()
ftp.retrlines( LIST)
ftp.cwd( SmythIN / 2014-10-29)---这里我有一个按当前日期创建的文件夹...我怎么能传递当前日期文件夹我改变了目录。
ftp.cwd( subFolder) # 或ftp.cwd(folderOne / subFolder)
listing = []
ftp.retrlines( LIST,listing.append)
words = listing [ 0 ]。split(无, 8 )
filename = words [ - 1 ]。lstrip()
# 下载文件
local_filename = os.path.join(r c:\ myfolder,filename)
lf = open(local_filename, wb)
ftp.retrbinary( RETR + filename,lf .write, 8 * 1024 )
lf.close()
import time
accounts =(
(< span class =code-string> xxx.xx.xx.xx1, USERNAME1, PASSWORD1 ),
( xxx.xx.xx.xx2, USERNAME2, PASSWORD2),
( xxx.xx.xx.xx3, USERNAME3, PASSWORD3),
( xxx.xx.xx.xx4, USERNAME4, PASSWORD4),
( xxx.xx.xx.xx5, USERNAME5, PASSWORD5 ),
)
TODAY = time.strftime( %Y-%m-%d)# ####### ########################
for 帐户 帐户:
ftp = FTP(*帐户)# ###################################
ftp。 login()
ftp.retrlines( 列表)# < -this语句看起来没用。
ftp.cwd( SmythIN / + TODAY)# ############## ################# -----它在这里打破。
ftp.cwd( subFolder)# 或ftp.cwd (folderOne / subFolder)
listing = []
ftp.retrlines( LIST,listing.append)
words = listing [ 0 ]。split(无, 8 )
filename = words [ - 1 ] .lstrip()
# 下载文件
local_filename = os.path.join(r c:\ myfolder,filename)
打开(local_filename, wb) as lf:
ftp.retrbinary( RETR + filename,lf.write, 8 * 1024 )
ftp.cwd(SmythIN /+ TODAY)################################ />
它不是所有ftp上的SmythIN它有不同的名称,如
ftp.cwd(X /+ TODAY)###### ##########################
ftp.cwd(Y /+ TODAY)##### ###########################
ftp.cwd(Z /+ TODAY)#### ############################
怎么写这个.. ....谢谢你dvance。
I have a list of ftp sites ( eg:5 ) in text file and i need to download the last created file from ftp sites. Is this possible. This is my code :
import os
from ftplib import FTP
ftp = FTP("xxx.xx.xx.xx1", "USERNAME1", "PASSWORD1")
ftp = FTP("xxx.xx.xx.xx2", "USERNAME2", "PASSWORD2")
ftp = FTP("xxx.xx.xx.xx3", "USERNAME3", "PASSWORD3")
ftp = FTP("xxx.xx.xx.xx4", "USERNAME4", "PASSWORD4")
ftp = FTP("xxx.xx.xx.xx5", "USERNAME5", "PASSWORD5")
ftp.login()
ftp.retrlines("LIST")
ftp.cwd("SmythIN/2014-10-29") --- here i have a folder created by current date ...how can i pass current date folder i change directory.
ftp.cwd("subFolder") # or ftp.cwd("folderOne/subFolder")
listing = []
ftp.retrlines("LIST", listing.append)
words = listing[0].split(None, 8)
filename = words[-1].lstrip()
# download the file
local_filename = os.path.join(r"c:\myfolder", filename)
lf = open(local_filename, "wb")
ftp.retrbinary("RETR " + filename, lf.write, 8*1024)
lf.close()
import time accounts = ( ("xxx.xx.xx.xx1", "USERNAME1", "PASSWORD1"), ("xxx.xx.xx.xx2", "USERNAME2", "PASSWORD2"), ("xxx.xx.xx.xx3", "USERNAME3", "PASSWORD3"), ("xxx.xx.xx.xx4", "USERNAME4", "PASSWORD4"), ("xxx.xx.xx.xx5", "USERNAME5", "PASSWORD5"), ) TODAY = time.strftime("%Y-%m-%d")################################ for account in accounts: ftp = FTP(*account)#################################### ftp.login() ftp.retrlines("LIST")#<-this statement looks useless. ftp.cwd("SmythIN/"+TODAY)################################----- it breaks in here. ftp.cwd("subFolder") # or ftp.cwd("folderOne/subFolder") listing = [] ftp.retrlines("LIST", listing.append) words = listing[0].split(None, 8) filename = words[-1].lstrip() # download the file local_filename = os.path.join(r"c:\myfolder", filename) with open(local_filename, "wb") as lf: ftp.retrbinary("RETR " + filename, lf.write, 8*1024)
ftp.cwd("SmythIN/"+TODAY)################################
its not SmythIN on all ftps it has different names like
ftp.cwd("X/"+TODAY)################################
ftp.cwd("Y/"+TODAY)################################
ftp.cwd("Z/"+TODAY)################################
how to write this...... thanks in advance.
这篇关于从3个ftp站点下载文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!