首页 > 编程语言 >用Python编写的FTP CLIENT端脚本

用Python编写的FTP CLIENT端脚本

时间:2023-09-16 16:57:12浏览次数:41  
标签:fp FTP ft ftp Python CLIENT file path local

 1 import ftplib,os
 2 temp=os.environ["temp"]
 3 #参考连接:https://blog.csdn.net/wyt2wyt/article/details/128951039
 4 ftp = ftplib.FTP()
 5 ftp.connect("127.0.0.1",2121)
 6 ftp.login("user","123456789")
 7 
 8 def upload(f, remote_path, local_path): #上传
 9     fp = open(local_path, "rb")
10     buf_size = 1024
11     f.storbinary("STOR {}".format(remote_path), fp, buf_size)
12     fp.close()
13 def download(f, remote_path, local_path):   #下载
14     fp = open(local_path, "wb")
15     buf_size = 1024
16     f.retrbinary('RETR {}'.format(remote_path), fp.write, buf_size)
17     fp.close()
18 def quit(f):    #退出连接
19     f.quit()
20 def typefile(f,file):   #读取服务器文件,但不下载
21     local_path=temp+"/TEMPfile"
22     fp = open(local_path, "wb")
23     buf_size = 1024
24     f.retrbinary('RETR {}'.format(file), fp.write, buf_size)
25     fp.close()
26     f=open(local_path,"r",encoding="UTF-8")
27     get=f.read()
28     f.close()
29     os.remove(local_path)
30     #return get
31     print(get)
32 def nlst(ft,cwd=""):    #获取当前目录的所有文件
33     try:
34         ft.nlst(cwd)
35     except:
36         return []
37     #return ft.nlst(cwd)
38     print(ft.nlst(cwd))
39 def DownLoadFileTree(ft, LocalDir, RemoteDir):  #下载一个目录
40         def DownLoadFile(ft, LocalFile, RemoteFile):  # 下载单个文件
41                 file_handler = open(LocalFile, 'wb')
42                 ft.retrbinary('RETR ' + RemoteFile, file_handler.write)
43                 file_handler.close()
44                 return True
45         if not os.path.exists(LocalDir):
46             os.makedirs(LocalDir)
47         ft.cwd(RemoteDir)
48         RemoteNames = ft.nlst()
49         for file in RemoteNames:
50             Local = os.path.join(LocalDir, file)
51             if file.find(".") == -1:
52                 if not os.path.exists(Local):
53                     os.makedirs(Local)
54                 DownLoadFileTree(ft,Local, file)
55             else:
56                 DownLoadFile(ft,Local, file)
57         ft.cwd("..")
58         return
59 #upload(ftp,r"\FTP-Server.py",r"D:\cnblogs\python脚本\FTP-Server.py")
60 #download(ftp,r"\FTP-Server.py",r"D:\FTP-Server.py")
61 #typefile(ftp,r"\temp\donfag_mysql_info.txt")
62 #nlst(ftp,cwd=r"\temp")
63 #DownLoadFileTree(ftp,r"e:\temp\temp",r"\temp")

 

标签:fp,FTP,ft,ftp,Python,CLIENT,file,path,local
From: https://www.cnblogs.com/donfag/p/17706925.html

相关文章

  • 个人项目:Python实现简易论文查重
    这个作业属于哪个课程软件工程这个作业要求在哪里个人项目这个作业的目标个人项目,实现论文查重功能本项目上传至个人GitHub:yulinnn/3121004802项目需求题目:论文查重描述如下:设计一个论文查重算法,给出一个原文文件和一个在这份原文上经过了增删改的抄袭版论......
  • 用Python编写的FTP SERVER端脚本
    1frompyftpdlib.authorizersimportDummyAuthorizer2frompyftpdlib.handlersimportFTPHandler,ThrottledDTPHandler3frompyftpdlib.serversimportFTPServer4frompyftpdlib.logimportLogFormatter5importlogging67#记录日志,这里既输出到屏幕又输......
  • Python——20days
    名字的查找顺序绝对导入和相对导入包的使用正则表示式(独立的语言)字符组字符等…………………………————————————————————————名字的查找顺序:1.先从内存中查找2.再从内置模块中查找3.最后去环境变量sys.path中查找如果以上都找不到,直接报错!......
  • 盘点一个Python网络爬虫问题
    大家好,我是皮皮。一、前言前几天在Python最强王者群【刘桓鸣】问了一个Python网络爬虫的问题,这里拿出来给大家分享下。他自己的代码如下:importrequestskey=input("请输入关键字")res=requests.post(url="https://jf.10086.cn/cmcc-web-shop/search/query",data=......
  • python 内置常量,异常
    python内置常量FalseTrueNoneNotImplementedEllipsisdebugsitequit()exit()copyrightcreditslicensepython内置异常所有异常都必须派生自BaseException具体异常AssertionError#当一个assert语句失败的时候AttributeError#属性引用失败或者分配失败引......
  • 看懂FTP的主动和被动模式
    主动模式FTP主动模式下,FTP客户端从任意的非特殊的端口(N>1023)连入到FTP服务器的命令端口--21端口。然后客户端在N+1(N+1>=1024)端口监听,并且通过N+1(N+1>=1024)端口发送命令给FTP服务器。服务器会反过来连接用户本地指定的数据端口,比如20端口。以服务器端防火墙为立足点,要支持......
  • python03
    2.编程初体验编程必须保存保存和打开一致否则就会乱码。默认Python解释器都是以UTF-8编码形式打开文件。如果想要修改Python的默认解释器编码,可以这样#-*-coding:gbk-*- 建议所有Python代码文件都要以UTF-8编码保存和读取。3.输出将结果或内容想要呈现给用户关......
  • Python 潮流周刊第 20 期(摘要)
    你好,我是猫哥。本周刊分享优质的Python、AI及通用技术内容,大部分为英文。这里是标题摘要版,查看全文请至☞:https://pythoncat.top/posts/2023-09-16-weekly本周刊开通Telegram频道后,已有650+小伙伴加入,欢迎你到来:https://t.me/pythontrendingweekly......
  • python01
    变量变量名是给我们人类看的,当保存一个文件到内存中时会产生一个内存地址,变量名是为了方便我们找到文件,变量值则是真正的这个文件先定义后调用取名规则在程序全局都会用到的变量,定义在文件开头变量名只能是字母数字或下划线的任意组合,其他都不规范第一个字符不能是数字不......
  • offsetWidth或者clientWidth获取不到,值为0的坑
    检查要获取的元素是不是已经显示了才获取offsetWidth,一定要确保获取offsetWidth的时候元素已经显示。来源:offsetWidth或者clientWidth获取不到,值为0的坑_offsetwidth为0_心刻的博客-CSDN博客......