自己写的python操作FTP服务器(未完,没写下载操作)
来源:互联网 发布:mac qq拼音删除 编辑:程序博客网 时间:2024/05/29 13:11
# -*- coding: utf-8 -*-import ftplibimport osclass XMyFtp: time_out = 30 ftp_user = "yxjk" ftp_pwd = "yxjk" ftp_host = "192.168.10.95" ftp_port = 21 ftp = None#FTP初始化 def __init__(self): self.ftp = ftplib.FTP() try: self.ftp.connect(self.ftp_host,self.ftp_port) except: print "无法连接远程服务器" exit(-1) try: self.ftp.login(self.ftp_user,self.ftp_pwd) except: print "用户名、密码不正确" exit(-1) self.ftp.set_pasv(False) print self.ftp.getwelcome()#获取FTP服务器默认路径下的目录列表 def GetRemoteRootDir(self): pwdPath = self.ftp.pwd() #获取FTP当前路径 if pwdPath == '/' or pwdPath == './': return self.ftp.nlst() else: self.ftp.cwd('./') return self.ftp.nlst() #上传文件到FTP服务器 #注意:file_path不可为目录,必须为带有文件名的路径 def UploadFile(self,local_path,ftp_path): if(os.path.exists(local_path)): try: self.ftp.storbinary('STOR %s'%ftp_path, open(local_path,'rb')) print "文件%s上传成功" % local_path except: print "文件%s上传失败" % local_path else: print "目标文件不存在"#上传目录到FTP服务器 def UploadDir(self,local_dir,ftp_dir): upload_dir = None self.ftp.cwd('/') if(os.path.isabs(local_dir)): dir,file = os.path.split(local_dir) upload_dir = file else: upload_dir = local_dir try: self.ftp.cwd(ftp_dir) except: try: self.ftp.mkd(ftp_dir) #首次创建目录会有异常,但目录却会创建成功,在捕获异常之后尝试切换目录 except: self.ftp.cwd(ftp_dir) remote_dir = ftp_dir.lstrip('/'); if(self.ftp.pwd().lstrip('/') == remote_dir): remote_dir = remote_dir.split('/') remote_dir = remote_dir[len(remote_dir)-1] self.ftp.cwd('/') if(remote_dir == upload_dir): for file in os.listdir(local_dir): if os.path.isdir(file): self.UploadDir(local_dir+'/'+file,ftp_dir) else: self.UploadFile(local_dir+'/'+file,ftp_dir+'/'+file) else: self.UploadDir(local_dir,ftp_dir+'/'+remote_dir) else: print "远程目录非法" #print self.ftp.pwd() self.ftp.close()#myftp = XMyFtp()#myftp.GetRemoteDir()#myftp.UploadFile('e:/pydev/Eobject/upload/d.txt','inc/upload/d.txt')#myftp.UploadDir("e:/pydev/Eobject/upload",'inc/upload')
0 0
- 自己写的python操作FTP服务器(未完,没写下载操作)
- C# 自己重新写的FTP操作类
- 自己写的python操作mysql函数库(新手级别)
- 自己写的单链表操作
- 一位高手写的FTP操作类
- 自己写的字符串操作类
- 自己写的操作 RMS类
- Exe8 自己写的字符串操作函数
- 自己写的文件操作工具类
- 自己写的一个 ini 操作类
- SQLite3自己写的一些操作语句
- python写的批量操作远程主机脚本(命令执行,上传、下载文件)
- python 写Excel操作
- Python文件写操作
- Linux系统下对树莓派镜像进行烧写操作。可搭建自己的迷你服务器
- python 写xml文件的操作
- python写xml文件的操作
- 自己写个ftp
- android知识回顾---消息机制
- Android 常见工具类封装
- hive官网翻译之管理员配置篇
- toLocaleString(),toString()和valueOf()方法的区别
- Linux多线程编程
- 自己写的python操作FTP服务器(未完,没写下载操作)
- C#中如何去掉字符串最后两位指定字符
- C语言中string函数详解
- crontab nginx 定时发送
- 根据两时间算出年龄
- SAP用户类型
- 使用vlc进行摄像头捕获、RTSP串流、播放
- 算法回顾一(浮点数进制转换)
- Java数据类型中String、Integer、int相互间的转换