python中ftp操作:

ftp=FTP() #设置变量

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

ftp.connect(“IP”,”port”) #连接的ftp sever和端口

ftp.login(“user”,”password”)#连接的用户名,密码

print ftp.getwelcome() #打印出欢迎信息

ftp.cmd(“xxx/xxx”) #更改远程目录

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

filename=”filename.txt” #需要下载的文件

file_handle=open(filename,”wb”).write #以写模式在本地打开文件

ftp.retrbinaly(“RETR filename.txt”,file_handle,bufsize) #接收服务器上文件并写入本地文件

ftp.set_debuglevel(0) #关闭调试模式

ftp.quit #退出ftp

ftp相关命令操作

ftp.cwd(pathname) #设置FTP当前操作的路径

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

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

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

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

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

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

ftp.rename(fromname, toname)#将fromname修改名称为toname。

ftp.storbinaly(“STOR filename.txt”,file_handel,bufsize) #上传目标文件

ftp.retrbinary(“RETR filename.txt”,file_handel,bufsize)#下载FTP文件

前提条件是你已经在当前电脑或远程服务器开通了ftp功能。

这里在本机上调试,目标主机也是本机。ftp信息如下表

主机地址192.168.8.102,端口号使用默认21端口,开启了匿名登录。所以在代码中登陆ftp账号密码为空。

ftp所需要的库已经集成在了python系统中

#coding:utf-8

#ftp演示,首先要在本机或远程服务器开启ftp功能

import sys,os,ftplib,socket

print("=====================FTP客户端=====================");

HOST = '192.168.8.102'  #FTP主机

user = "username"

password = "pwd"

buffer_size = 8192

#连接登陆

def connect():

try:

ftp = ftplib.FTP(HOST)

ftp.login()#登录,参数user,password,acct均是可选参数,

#f.login(user="user", passwd="password")

return ftp

except (socket.error,socket.gaierror):

print("FTP登陆失败,请检查主机号、用户名、密码是否正确")

sys.exit(0)

print('已连接到: "%s"' % HOST)

#中断并退出

def disconnect(ftp):

ftp.quit()  #FTP.close():单方面的关闭掉连接。FTP.quit():发送QUIT命令给服务器并关闭掉连接

#上传文件

def upload(ftp, filepath):

f = open(filepath, "rb")

file_name = os.path.split(filepath)[-1]

try:

ftp.storbinary('STOR %s'%file_name, f, buffer_size)

print('成功上传文件: "%s"' % file_name)

except ftplib.error_perm:

return False

return True

#下载文件

def download(ftp, filename):

f = open(filename,"wb").write

try:

ftp.retrbinary("RETR %s"%filename, f, buffer_size)

print('成功下载文件: "%s"' % filename)

except ftplib.error_perm:

return False

return True

#获取目录下文件或文件夹想详细信息

def listinfo(ftp):

ftp.dir()

#查找是否存在指定文件

def find(ftp,filename):

ftp_f_list = ftp.nlst()  #获取目录下文件、文件夹列表

if filename in ftp_f_list:

return True

else:

return False

def main():

ftp = connect()                  #连接登陆ftp

dirpath = 'lp'                   #目录,不能使用lp/lp1这种多级创建,而且要保证你的ftp目录,右键属性不能是只读的

try: ftp.mkd(dirpath)                 #新建远程目录

except ftplib.error_perm:

print("目录已经存在或无法创建")

try:ftp.cwd(dirpath)             #重定向到指定路径

except ftplib.error_perm:

print('不可以进入目录:"%s"' % dirpath)

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

try: ftp.mkd("dir1")                  #在当前路径下创建dir1文件夹

except ftplib.error_perm:

print("目录已经存在或无法创建")

upload(ftp,"D:/test.txt")       #上传本地文件

filename="test1.txt"

ftp.rename("test.txt", filename) #文件改名

if os.path.exists(filename):   #判断本地文件是否存在

os.unlink(filename)    #如果存在就删除

download(ftp,filename)        #下载ftp文件

listinfo(ftp)                   #打印目录下每个文件或文件夹的详细信息

files = ftp.nlst()              #获取路径下文件或文件夹列表

print(files)

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

ftp.rmd("dir1")                  #删除远程目录

ftp.quit()  #退出

if __name__ == '__main__':

main()

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

作者:数据架构师

python采集修改原创_python应用系列教程——python中ftp操作:连接、登录、获取目录,重定向、上传下载,删除更改...相关推荐

  1. Asp.net实现MVC处理文件的上传下载删除功能实例教程

    上传于下载功能是程序设计中非常常见的一个功能,在ASP.NET程序开发中有着非常广泛的应用.本文就以实例形式来实现这一功能. 一.概述 如果你仅仅只有Asp.net Web Forms背景转而学习As ...

  2. python采集修改原创_网站采集利用python洗稿!洗稿人太轻松了!

    一直在想怎么能正确高效的处理seo中,采集的文章怎么去伪原创和洗稿.如果是人工操作的话,那就太麻烦了.采集下来的文章不进行伪原创又害怕被飓风算法命中. 1,tr算法提取摘要再人工重组新的文章. 正好今 ...

  3. python中的gui界面编程_python应用系列教程——python的GUI界面编程Tkinter全解

    全栈工程师开发手册 (作者:栾鹏) python的GUI界面编程,常用的几个python库包含如下: Tkinter: Tkinter 模块(Tk 接口)是 Python 的标准 Tk GUI 工具包 ...

  4. python如何绘制条形图_python Matplotlib 系列教程(三)——绘制直方图和条形图

    在本章节我们将学习如何绘制条形图和直方图 条形图与直方图的区别: 首先,条形图是用条形的长度表示各类别频数的多少,其宽度(表示类别)则是固定的: 直方图是用面积表示各组频数的多少,矩形的高度表示每一组 ...

  5. python怎么计算总值_python小白系列Day2—python基础以及pandas基础

    最近恰逢过年期间,聚会太多,还有论文以及笔者年后的实习培训,时隔几天,笔者终于在第一天更文之后,继续写第二篇了. 打算写这个,主要是想记录自己从0到1的过程,欢迎拍砖. part one 思考部分 笔 ...

  6. python csv修改文件_Python实例:对CSV文件的操作

    来自PythonABC.org 老师的课程很好,但是每个视频都蛮长的,听着听着就有些晕乎,所以根据视频自己整理了一下,以便记录 用Python来实现CSV文件的一些常用操作 请注意:文件路径需要根据实 ...

  7. python遍历什么意思_Python进阶系列:Python遍历的秘密

    前言 可迭代对象,迭代器,生成器,相信许多学习Python的小伙伴或多或少都听说过,但你真的知道他们的区别吗?真的知道为什么需要这些概念吗? 本文带你深入了解一系列相关机制,不仅告诉你概念,还告诉你为 ...

  8. Python + Paramiko实现sftp文件上传下载

    最近在测试服务器那块,看了下Paramiko模块,一直都是用FileZilla工具,想了想,持续集成,更新代码可以用Parmmiko完成,还是不错的 Paramiko是用python语言写的一个模块, ...

  9. python应用系列教程——python中ftp操作:连接、登录、获取目录,重定向、上传下载,删除更改

    全栈工程师开发手册 (作者:栾鹏) python教程全解 python中ftp操作: ftp=FTP() #设置变量 ftp.set_debuglevel(2) #打开调试级别2,显示详细信息 ftp ...

最新文章

  1. 解决Python通过pip安装报错:(有图)Could not install packages due to an EnvironmentError: HTTPSConnectionPool
  2. bzoj千题计划237:bzoj1492: [NOI2007]货币兑换Cash
  3. php5的mysqli函数第二个参数,关于php:我应该将$ mysqli变量传递给每个函数吗?
  4. 云图说|ASM灰度发布,让服务发布变得更敏捷、更安全
  5. 第 20 次 CSP认证 202009-4 星际旅行
  6. Siri在苹果继续活着、蠢着、没落着,现在它最后一个创始人也走了
  7. python学习手册-Python学习手册(第4版) 中文版.pdf
  8. 蚂蚁S9矿卡ddr型号确认方法
  9. 宝鸡市二检理科数学跟踪训练题
  10. 深信服桌面云-(1)
  11. 复联4定档 4.24——十一年21部漫威电影,用数据为你梳理口碑、票房、主演最佳...
  12. 求三阶行列式--学解析几何的朋友计算外积和混合积可以用这个啦--
  13. Conda的PyTorch安装
  14. Android修改源码实现root
  15. python counter函数_Python中的魔法函数——Counter
  16. 使用Horner法则计算多项式的值
  17. 心理月刊杂志心理月刊杂志社心理月刊编辑部2022年第11期目录
  18. 生物信息学基础——基因表达过程
  19. div+CSS浏览器兼容问题整理(IE6.0、IE7.0 ,ie8 , FireFox...)
  20. 记录学习Jsoup时第一次创建Maven项目时的报错(No marketplace entries found to handle maven-compiler-plugin:3.1)

热门文章

  1. cuda学习笔记1 - hello world实战
  2. 【五校联考6day2】san
  3. sudu在linux的命令,Linux的sudo命令
  4. spark ui的访问地址_Spark篇之HA集群搭建
  5. 大学加权平均分计算器_英国排名前20的大学GPA要求
  6. 转:Linux搭建git私服
  7. 【Windows10】我的电脑从新装到优化配置
  8. [LeetCode] Flatten Binary Tree to Linked List
  9. iOS 消息转发机制
  10. LINQ to SQL语句(1)之Where(抄的好)