python之ftplib基础学习

# -*- coding: utf-8 -*-

# python:2.x

__author__ = ‘Administrator‘

from ftplib import FTP#加载

#方法或者属性

# ftp=FTP()#变量

# ftp.set_debuglevel(2)#调试级别为2,显示详细信息

# ftp.connect(‘IP‘,‘port‘)#连接ftp服务器和端口

# ftp.login(‘user‘,‘password‘)#连接帐号及密码

# print ftp.getwelcome()#显示信息

# ftp.cmd(‘path‘)#更改远程目录

# bufsize=1024#设置缓冲区大小

# file_handle=open(‘a.txt‘,‘wb‘).writable#以读写模式在本地打开文件

# ftp.retrbinary(‘RETR FILENAME.txt‘,file_handle,bufsize)#接收服务器上文件并写入到本地文件中

# ftp.set_debuglevel(0)#退出调试模式

# ftp.quit#退出

# ftp.cwd(‘pathname‘)#设置当前目录

# ftp.dir()#显示目录文件信息

# ftp.nlst()#获取目录下的文件

# ftp.mkd(‘pathname‘)#新建远程目录

# ftp.pwd()#返回当前所在位置

# ftp.rmd(‘pathname‘)#删除远程目录

# ftp.delete(‘pathname‘)#删除远程文件)

# ftp.rename(‘path1‘,‘path2‘)#重名

# ftp.storbinary(‘stop finename.txt‘,file_handle,bufsize)#上传目录文件

# ftp.retrbinary(‘retr finename.txt‘,file_handle,bufsize)#下载ftp文件

#例子

ftp=FTP()

timeout=30

port=21

ftp.connect(‘192.168.1.111‘,port,timeout)

ftp.login(‘UserName‘,‘888888‘)

print ftp.getwelcome()

ftp.cwd(r‘F:\ftp‘)

l=ftp.nlst()

for name in l:

print name#打印名字

path=r‘F:\ftp‘+name

f=open(path,‘wb‘)

filename=‘RETR‘+name

ftp.retrbinary(‘STOP‘+filename,open(path,‘rb‘))

ftp.quit()

完整模块(是核心编程书籍上的例子)

#!/usr/bin/python

# -*- coding: utf-8 -*-

import ftplib

import os

import socket

HOST = ‘ftp.mozilla.org‘

DIRN = ‘pub/mozilla.org/webtools‘

FILE = ‘bugzilla-3.6.7.tar.gz‘

def main():

try:

f = ftplib.FTP(HOST)

except (socket.error, socket.gaierror):

print ‘ERROR:cannot reach " %s"‘ % HOST

return

print ‘***Connected to host "%s"‘ % HOST

try:

f.login()

except ftplib.error_perm:

print ‘ERROR: cannot login anonymously‘

f.quit()

return

print ‘*** Logged in as "anonymously"‘

try:

f.cwd(DIRN)

except ftplib.error_perm:

print ‘ERRORL cannot CD to "%s"‘ % DIRN

f.quit()

return

print ‘*** Changed to "%s" folder‘ % DIRN

try:

#传一个回调函数给retrbinary() 它在每接收一个二进制数据时都会被调用

f.retrbinary(‘RETR %s‘ % FILE, open(FILE, ‘wb‘).write)

except ftplib.error_perm:

print ‘ERROR: cannot read file "%s"‘ % FILE

os.unlink(FILE)

else:

print ‘*** Downloaded "%s" to CWD‘ % FILE

f.quit()

return

if __name__ == ‘__main__‘:

main()

时间: 2024-10-10 13:28:42

python之ftplib基础学习的相关文章

python爬虫之基础学习(一)

python爬虫之基础学习(一) 网络爬虫 网络爬虫也叫网络蜘蛛.网络机器人.如今属于数据的时代,信息采集变得尤为重要,可以想象单单依靠人力去采集,是一件无比艰辛和困难的事情.网络爬虫的产生就是代替人力在互联网中自动进行信息采集和整理. 网络爬虫的组成 网络爬虫由控制节点.爬虫节点以及资源库构成,简单而言就是控制节点控制爬虫节点爬取和处理网页存储到资源库中.网络爬虫中有多个控制节点和爬虫节点,一个控制节点控制着多个爬虫节点,同一个控制节点下的多个爬虫节点可以相互通信,多个控制节点也可以相互通信.

Spark (Python版) 零基础学习笔记(二)—— Spark Transformations总结及举例

1. map(func) 将func函数作用到数据集的每个元素,生成一个新的分布式的数据集并返回 1 >>> a = sc.parallelize(('a', 'b', 'c')) 2 >>> a.map(lambda x: x+'1').collect() 3 ['a1', 'b1', 'c1'] 2. filter(func) 选出所有func返回值为true的元素,作为一个新的数据集返回 1 >>> a = sc.parallelize(rang

python之nntplib基础学习

# -*- coding: utf-8 -*- # python:2.x __author__ = 'Administrator' from nntplib import * # nnt.group('name')#选择一个组的名字,返回一个元组(rsp,ct,fst,lst,group):服务器返回信息文件数量,第一个和最后一个文章号码以及组名,所有的数据都是字符串 # nnt.xhdr('hdr','artg',['ofile'])#返回文章范围atrtg(头-尾的格式)内文章hdr头列表或

Python 模块【基础学习】

python Module(模块) 在计算机开发的过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式.在Python中,一个.py文件就称之为一个模块(Module). 使用模块有什么好处呢? 最大的好处是大大提高了代码的可维护性.其次,编写的代码不必从零开始.当一个模块编写,就可以被其他地方引用.我们在编写程序的时候,也经常引用其

python基础学习日志day5-各模块文章导航

python基础学习日志day5---模块使用 http://www.cnblogs.com/lixiang1013/p/6832475.html python基础学习日志day5---time和datetime模块 http://www.cnblogs.com/lixiang1013/p/6848245.html python基础学习日志day5---random模块http://www.cnblogs.com/lixiang1013/p/6849162.html python基础学习日志da

Python 基础学习 网络小爬虫

<span style="font-size:18px;"># # 百度贴吧图片网络小爬虫 # import re import urllib def getHtml(url): page = urllib.urlopen(url) html = page.read() return html def getImg(html): reg = r'src="(.+?\.jpg)" pic_ext' imgre = re.compile(reg) imgli

python基础学习05(核心编程第二版)部分

# -*- coding: utf-8 -*- # ==================== #File: python #Author: python #Date: 2014 #==================== __author__ = 'Administrator' #dict{键:值} #哈希 #注:字典是无顺序的,所以你懂的 #创建与赋值 dict1={} dict2={'name':'apply','avg':24,'sex':'man'} print dict1,dict2

python calendar标准库基础学习

# -*- coding: utf-8 -*-# 作者:新手__author__ = 'Administrator'#标准库:日期时间基础学习:calendar:处理日期#例1import calendarc=calendar.TextCalendar(calendar.SUNDAY)c.prmonth(2015,3)#prmonth()简单函数,生成一个月的格式文件输出#TextCalendar()从星期天(为第一天,因为老外是从星期天开始算第一天的)#利用HTMLCalendar和forma

Python基础学习(九)

Python 多线程 多线程类似于同时执行多个不同程序,多线程运行有如下优点: 使用线程可以把占据长时间的程序中的任务放到后台去处理. 用户界面可以更加吸引人,这样比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进度条来显示处理的进度 程序的运行速度可能加快 在一些等待的任务实现上如用户输入.文件读写和网络收发数据等,线程就比较有用了.在这种情况下我们可以释放一些珍贵的资源如内存占用等等. 线程在执行过程中与进程还是有区别的.每个独立的线程有一个程序运行的入口.顺序执行序列和程序的出口.