不能看到您的實際FTP目錄樹,這可能有點困難,但希望以下可以讓你開始。
考慮在ftplib
閱讀了有關詳細信息,(見Docs)
import ftplib
ftp = ftplib.FTP('mypage')
ftp.login()
for dir in ftp.nlst():
if 'photos' in dir:
ftp.cwd('/mypage/{}'.format(dir))
for file in ftp.nlst():
if file.endswith('.jpg'):
try:
print('Attempting to download {}...'.format(file), end=' ')
with open(file, 'wb') as f:
ftp.retbinary('RETR ' + file, f.write, 8*1024)
print('[SUCCESS]')
except Exception as e:
print('[FAILED]')
print(e)
ftp.close()
所以讓我們嘗試和運行通過這到底是怎麼回事:
- 登錄到FTP服務器
mypage
。
- 列出服務器根目錄中找到的所有目錄。
- 如果文件夾名稱包含'照片',則將工作目錄更改爲該文件夾。
- 列出此照片子文件夾中的所有文件。
- 如果文件以
.jpg
結尾,則可能是我們想要的圖片。
- 使用相同的名稱在您的系統上創建一個文件,並將圖片下載到它。
- 重複。
現在,如果目錄樹結果與您在此處描述的略有不同,那麼預計會遇到問題;但是,您應該可以修改示例以適合您的服務器。我知道這段代碼有效,因爲我可以用它遞歸下載ftp.debian.org
的.html
文件。
你只是想打開這些鏈接,或者你想要做其他事情 – gowtham
你能告訴我們你試過的代碼嗎? – DineshKumar
這些文件夾中有一些文件(活動的.jpg圖像)。 /photos0001/img001.jpg,img002.jpg atc。我想打開所有文件夾並下載我的文件,但我不知道如何自動執行....我必須逐一嘗試path1 ='http:// mypage/photos0001 /',path2 ='xxxxx/photos0002'等等。 –