from ftplib import FTP
from baseapi.logger import MyLogger
logger = MyLogger.get_logger()
class FTPUtils:
ftp = FTP()
ftp.set_pasv(False)
def __init__(self, username, password, host, port=21):
"""
用於FTP站點初始化
:param username: FTP使用者名稱
:param password: FTP密碼
:param host: FTP站點地址
:param port: FTP站點埠
"""
self.ftp.connect(host, port, timeout=30)
self.ftp.login(username, password)
logger.info("FTP init success")
def remote_file_exists(self, remote_file, remote_path):
"""
用於FTP站點目標檔案存在檢測
:param remote_file: 目標檔名
:param remote_path: 目標路徑
:return: True/False
"""
self.ftp.cwd(remote_path) # 進入目標目錄
remote_file_names = self.ftp.nlst() # 獲取檔案列表
if remote_file in remote_file_names:
logger.info(f"{remote_file} exists in {remote_path}")
return True
else:
logger.info(f"{remote_file} exists not in {remote_path}")
return False
def download_file(self, local_file, remote_file):
"""
用於目標檔案下載
:param local_file: 本地檔名
:param remote_file: 遠端檔名
"""
logger.info(f"Download {remote_file} to {local_file}")
with open(local_file, 'wb') as fp:
self.ftp.retrbinary(f'RETR {remote_file}', fp.write)
def quit_ftp(self):
"""
用於FTP退出
"""
self.ftp.quit()
logger.info("FTP quit success")
使用Python ftplib庫進行封裝FTP自動下載
相關文章
- Python實現ftp常用操作[ftplib]PythonFTP
- 關於使用自動指令碼進行檔案下載指令碼
- 配置crontab+ftp自動下載檔案FTP
- ftp下載顯示進度FTP
- ftp下載工具,ftp下載工具哪個好用,如何使用?FTP
- 封裝ListView,實現自動載入更多封裝View
- 封裝一個postMessage庫,進行iframe跨域互動封裝跨域
- Linux使用Shell指令碼實現ftp的自動上傳下載Linux指令碼FTP
- [譯] 使用 Python 進行自動化特徵工程Python特徵工程
- FTP自動下載並解壓縮檔案指令碼FTP指令碼
- Python自動化測試~PO模型封裝Python模型封裝
- python自動下載圖片Python
- 使用Python爬蟲實現自動下載圖片Python爬蟲
- ftp多執行緒下載工具FTP執行緒
- 綠色ftp工具,綠色ftp工具下載,使用教程。FTP
- ftp上傳工具下載,ftp上傳工具下載使用教程,Linux如何配置ftp伺服器?FTPLinux伺服器
- 使用ftp自動傳輸檔案FTP
- python自動化測試框架,封裝方法方式Python框架封裝
- 如何利用python原始碼下載進行下單?Python原始碼
- 從linux伺服器進行下載,除了ftp還有哪些方法Linux伺服器FTP
- aix下新增ftp使用者(轉載)AIFTP
- 使用PostMan進行自動化測試Postman
- 使用 PostMan 進行自動化測試Postman
- MySQL使用event進行自動分表MySql
- windows下ftp定時執行批次下載檔案,windows下ftp定時執行批次下載檔案的一種方法WindowsFTP
- 小程式API進行promise封裝APIPromise封裝
- 使用NSOperation和NSURLSession封裝一個序列下載器Session封裝
- 容災備份 | 看我使用Powershell操作FTP進行資料檔案自動上傳備份FTP
- Python 的 Geth 封裝庫 PyGethPython封裝
- 實現FTP多執行緒下載 (轉)FTP執行緒
- 【玩具】使用Python自動化傳送微信訊息進行訂水Python
- 自動ftp指令碼FTP指令碼
- vue中對axios進行封裝VueiOS封裝
- 用python做youtube自動化下載器 思路Python
- Ajax概述,封裝以及聯合模板引擎進行資料互動封裝
- ftp下載指定檔案FTP
- 記錄python介面自動化測試--requests使用和基本方法封裝(第一目)Python封裝
- 使用 Headless Chrome 進行自動化測試Chrome