Python核心编程(第3版)-客户端FTP程序示例

简介:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
cat getLatestFTP.py
#!/usr/bin/python
import  ftplib
import  os
import  socket
HOST  =  'ftp.mozilla.org'
DIRN  =  'pub/mozilla.org/webtools'
FILE  =  'bugzilla-LATEST.tar.gz'
def  main():
     try :
         =  ftplib.FTP(HOST)
     except  (socket.error,socket.gaierror) as e:
         print  'ERROR:cannot reach "%s"'  %  HOST
         return
     print  '*** Connected to host "%s"'  %  HOST
     try :
         f.login( 'web2' , 'passwd' )
     except  ftplib.error_perm:
         print  'ERROR: cannot login anonymously'
         f.quit()
         return
     print  '*** Logged in as "anonymous"'
     try :
         f.cwd(DIRN)
     except  ftplib.error_perm:
         print  'ERROR:cannot CD to "%s"'  %  DIRN
         f.quit()
         return
     print  '*** Changed to  "%s" folder'  %  DIRN
     try :
         f.retrbinary( 'RETR %s'  %  FILE ,
             open ( FILE , 'wb' ).write)
     except  ftplib.error_perm:
         print  'ERROR:cannot read file "%s"'  %  FILE
         if  os.path.exists( FILE ):
             os.unlink( FILE )
         else :
             print  '*** Downloaded "%s" to CWD'  %  FILE
     f.quit()
if  __name__  = =  '__main__' :
     main()

总结:

1,ftp.mozilla.org 已经不能访问了。

2,相关变量根据实际情况修改,HOST,DIRN,FILE。

3,该内容在 《Python核心编程(第3版)》 第79页。




      本文转自独弹古调  51CTO博客,原文链接:http://blog.51cto.com/hunkz/1874384,如需转载请自行联系原作者





相关文章
|
6月前
|
Python
Python编程:运算符详解
本文全面详解Python各类运算符,涵盖算术、比较、逻辑、赋值、位、身份、成员运算符及优先级规则,结合实例代码与运行结果,助你深入掌握Python运算符的使用方法与应用场景。
440 3
|
6月前
|
数据处理 Python
Python编程:类型转换与输入输出
本教程介绍Python中输入输出与类型转换的基础知识,涵盖input()和print()的使用,int()、float()等类型转换方法,并通过综合示例演示数据处理、错误处理及格式化输出,助你掌握核心编程技能。
646 3
|
6月前
|
并行计算 安全 计算机视觉
Python多进程编程:用multiprocessing突破GIL限制
Python中GIL限制多线程性能,尤其在CPU密集型任务中。`multiprocessing`模块通过创建独立进程,绕过GIL,实现真正的并行计算。它支持进程池、队列、管道、共享内存和同步机制,适用于科学计算、图像处理等场景。相比多线程,多进程更适合利用多核优势,虽有较高内存开销,但能显著提升性能。合理使用进程池与通信机制,可最大化效率。
453 3
|
6月前
|
Java 调度 数据库
Python threading模块:多线程编程的实战指南
本文深入讲解Python多线程编程,涵盖threading模块的核心用法:线程创建、生命周期、同步机制(锁、信号量、条件变量)、线程通信(队列)、守护线程与线程池应用。结合实战案例,如多线程下载器,帮助开发者提升程序并发性能,适用于I/O密集型任务处理。
650 0
|
安全 测试技术 数据库
Python编程--sys模块及OS模块简单用例
Python编程--sys模块及OS模块简单用例
267 1
|
JSON 数据格式 Python
Python编程:利用JSON模块编程验证用户
Python编程:利用JSON模块编程验证用户
160 1
|
数据处理 Python
Python编程-利用datetime模块生成当前年份之前指定的间隔所有年份的日期列表和csv文件
Python编程-利用datetime模块生成当前年份之前指定的间隔所有年份的日期列表和csv文件
313 1
|
人工智能 安全 Java
Python 多线程编程实战:threading 模块的最佳实践
Python 多线程编程实战:threading 模块的最佳实践
530 5
|
安全 调度 Python
什么是Python中的事件驱动编程?如何使用`asyncio`模块实现异步事件处理?
【2月更文挑战第4天】【2月更文挑战第9篇】什么是Python中的事件驱动编程?如何使用`asyncio`模块实现异步事件处理?
447 0
|
缓存 分布式计算 自然语言处理
Python语言的函数编程模块
Python语言的函数编程模块