python ftp 上传、下载文件

2023-01-31 05:01:23 文件 上传 下载


python ftp 上传、下载文件

#获取昨天日期

TODAY = datetime.date.today() 
YESTERDAY = TODAY - datetime.timedelta(days=1)
CURRENTDAY=YESTERDAY.strftime('%Y%m%d')


---------------------------------------------------------------------------------------


#!/usr/bin/env
Python
# -*- coding: cp936 -*-
#导入ftplib扩展库 
import ftplib 
 
#创建ftp对象实例 
ftp = ftplib.FTP() 
 
#指定IP地址和端口,连接到FTP服务,上面显示的是FTP服务器的Welcome信息 
FTPIP= "218.108.***.***"
FTPPORT= 21
USERNAME= "ybmftp"
USERPWD= "ybm***"
ftp.connect(FTPIP,
FTPPORT) 
 
#通过账号和密码登录FTP服务器 
ftp.login(USERNAME,USERPWD) 
 
#如果参数 pasv 为真,打开被动模式传输 (PASV MODE) ,
#否则,如果参数 pasv 为假则关闭被动传输模式。
#在被动模式打开的情况下,数据的传送由客户机启动,而不是由服务器开始。
#这里要根据不同的服务器配置
ftp.set_pasv(0)
#在FTP连接中切换当前目录 
CURRTPATH= "/home1/ftproot/ybmftp/testupg/payment"
ftp.cwd(CURRTPATH) 
 
#为准备下载到本地的文件,创建文件对象 
 
DownLocalFilename="YBM_20110629_9001_CHK"
f = open(DownLocalFilename,
'wb') 
 
#从FTP服务器下载文件到前一步创建的文件对象,其中写对象为f.write,1024是缓冲区大小 
 
DownRoteFilename="YBM_20110629_9001_CHK"
ftp.retrbinary('RETR ' + DownRoteFilename , f.write ,
1024) 
 
#关闭下载到本地的文件 
 
#提醒:虽然Python可以自动关闭文件,但实践证明,如果想下载完后立即读该文件,最好关闭后重新打开一次 
f.close() 
 
#关闭FTP客户端连接
ftp.close()

###上传文件

#! /usr/bin/env python
from ftplib import FTP
import sys, getpass, os.path
host="218.108.***.***"
username="ybmftp"
passWord="ybm!***"
localfile="/home/gws/xym/script/duizhang.txt"
remotepath="~/testpayment"
f=FTP(host)
f.login(username, password)
f.cwd(remotepath)
fd=open(localfile,'rb')
print os.path.basename(localfile)
#否则,如果参数
pasv 为假则关闭被动传输模式。
#在被动模式打开的情况下,数据的传送由客户机启动,而不是由服务器开始。
#这里要根据不同的服务器配置
ftp.set_pasv(0)
f.storbinary('STOR %s ' % os.path.basename(localfile),fd)
fd.close()
f.quit


原文链接:Http://blog.sina.com.cn/s/blog_498a6eeb0100t280.html


相关文章