FTP传输
有的朋友可能购买了空间 但是FTP不太好管理 当然python就有ftp传输协议的模块
graph TD
连接FTP服务器-->登录
登录-->执行操作_请求服务器
执行操作_请求服务器-->退出
首先导入ftplib模块
importftplib# 导入FTP 模块
# 第一步:连接到服务器 参数为登录的服务器地址
ftp = ftplib.FTP( 'wkvs112****.dnswa.com' )
# 敲下ftp返回实例:
#
# 第二步:登录
ftp.login( 'larxqf***', 't4rbQe***' )# 返回'230 OK. Current directory is /' ____230 Ok 登录成功
# 第三步:执行操作__这里通过dir显示目录内容
ftp.dir() # 返回了ftp目录列表
# 第四步:退出
ftp.quit() # 返回 '221 Goodbye.'
以上是简单的IDLE执行流程
方法 | 解释 |
login( user='', passwd='' ) | 登录FTP服务器 |
pwd() | 通过此方法可以获取当前所在目录与Linux类似 |
cwd(path) | 更改path工作目录路径 |
dir([path[,cb]]) | 显示path目录里的内容 cb回调函数 传递给retrlines()方法 |
nlst([path]) | 和dir一样 返回的是文件详细信息的列表 |
retrlines(cmd[,cb]) | 给定FTP命令 用于下载文本文件 可空的回调函数用来处理文本的每一行 |
retrbinary() | 与上面方法相似 处理二进制文件 |
storlines() | 上传文件 参数为open打开后的对象 |
storbinary() | 二进制 参数也是open返回的对象 |
delete(path) | 删除位于path的远程文件 |
mkd(directory) | 创建远程目录 |
rmd(directory) | 删除远程目录 |
quit() | 关闭连接并退出 |
实例 FTP下载实例
#!/usr/bin/env python
importftplib
importsocket,os
HOST = 'ftp.mozilla.org'
DIRN = 'pub/mozilla.org/webtools'
FILE = 'bugzilla-LATEST.tar.gz'
defmain():
try:
f = ftplib.FTP( host )
except( socket.error, socket.gaierror )ase:
print'ERROR: cannot reach'%s%HOST
return
print'*** Connected to host"%s"'%HOST
try:
f.login()
exceptftplib.error_perm:
print'ERROR: cannot login anonymously'
f.quit()
return
print'*** Logged in as "anonymous"'
try:
f.cwd(DIRN)
exceptftplib.error_perm:
print'ERROR: cannot CD to "%s"'%DIRN
f.quit()
return
print'*** Changed to "%s" folder'%DIRN
try:
f.retrbinary( 'RETR %s'%FILE )
os.unlink( FILE )
else:
print'*** Downloaded "%s" to CWD'%FILE
f.quit()
if__name__ == '__main__':
main()
閱讀更多 動作要快姿勢要帥 的文章