ftplib 示例

本文提供了一个Python脚本示例,用于将账单文件上传至指定的FTP服务器,并展示了如何从服务器下载文件并删除历史文件。涵盖了基本的FTP配置与操作。

http://topic.youkuaiyun.com/t/20060713/17/4878726.html

上面的是上传示例,后面的是下载

 

 

顺便还有Python多个库的介绍

 

http://blog.youkuaiyun.com/fishtangjinfu/archive/2008/04/12/2287493.aspx

 

ftplib 是 Python 标准库中的一部分,实现了 FTP 客户端协议,可在 Python 程序中连接到 FTP 服务器,并执行文件传输和管理操作。其核心类是 FTP,通过创建 FTP 对象,可建立与 FTP 服务器的连接,并调用其方法完成不同任务[^1]。 ### 连接到 FTP 服务器 连接时,若 FTP 未使用默认端口 21,需显示指定端口。示例代码如下: ```python from ftplib import FTP ftp_server = '192.168.162.128' ftp_port = 31 # FTP默认端口是21 uname = 'test' upwd = 'test' ftp = FTP() try: ftp.connect(host=ftp_server, port=ftp_port) ftp.login(user=uname, passwd=upwd) print("成功连接到 FTP 服务器") except Exception as e: print(f"连接发生错误: {e}") finally: ftp.quit() # 断开连接 ``` ### 文件下载 下载文件时,若 ftp 路径带有中文,可能需要设置 ftp 的 encoding 属性为 gbk。示例代码如下: ```python import os from ftplib import FTP ftp_server = '192.168.162.128' ftp_port = 31 uname = 'test' upwd = 'test' remote_file_path = '/haha/hi.txt' local_file_path = os.path.join(os.getcwd(), 'hi.txt') ftp = FTP() try: ftp.connect(host=ftp_server, port=ftp_port) ftp.encoding = 'gbk' ftp.login(user=uname, passwd=upwd) ftp.set_pasv(True) # 切换到被动模式 with open(local_file_path, 'wb') as file: ftp.retrbinary(f'RETR {remote_file_path}', file.write) print(f"文件已成功下载到 {local_file_path}") except Exception as e: print(f"下载发生错误: {e}") finally: ftp.quit() ``` ### 文件上传 上传文件示例代码如下: ```python import os from ftplib import FTP ftp_server = '192.168.162.128' ftp_port = 31 uname = 'test' upwd = 'test' remote_file = '/202406/hk/hi.txt' local_file = os.path.join(os.getcwd(), 'hi.txt') ftp = FTP() try: ftp.connect(host=ftp_server, port=ftp_port) ftp.login(user=uname, passwd=upwd) with open(local_file, 'rb') as file: ftp.storbinary(f'STOR {remote_file}', file) print("文件已成功上传") except Exception as e: print(f"上传发生错误: {e}") finally: ftp.quit() ``` ### 其他常用操作 以下是一些其他常用操作示例: ```python from ftplib import FTP ftp = FTP('ftp.example.com') ftp.login('username', 'password') # 进入某个目录 ftp.cwd('/path/to/directory') # 列出当前目录下的文件 ftp.retrlines('LIST') # 退出 FTP 会话 ftp.quit() ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值