www.cnblogs.com/ruiyqinrui

开源、架构、Linux C/C++/python AI BI 运维开发自动化运维。 春风桃李花 秋雨梧桐叶。“力尽不知热 但惜夏日长”。夏不惜,秋不获。@ruiY--秦瑞

python爬虫,C编程,嵌入式开发.hadoop大数据,桉树,onenebula云计算架构.linux运维及驱动开发.

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
  2912 随笔 :: 9 文章 :: 51 评论 :: 185万 阅读
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
# -*- coding:utf-8 -*-
import sys
import io
import socket
socket.setdefaulttimeout(200)
 
#print(sys.stdout.encoding)
#sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding="gb2312")
 
 
'''
if sys.getdefaultencoding() != 'utf-8':
    reload(sys)
sys.setdefaultencoding('utf-8')
'''
 
 
"""
FTP常用操作
"""
from ftplib import FTP
import os
import datetime
import time
ftp = FTP()
ftp.set_pasv(False)
#ftp.encoding = 'GB2312'
ftp.set_debuglevel(0)
ftp.connect(host = "123.206",port = 21)
ftp.login("","")
#return ftp
 
print(ftp)
 
buffer_size = 1024
print(ftp.nlst("rain10min"))#////ftplib.error_temp: 425 Unable to set up passive listening socket.
print(ftp.dir())
#print(ftp.nslt(""))
#print(ftp.dir("3"))
print(ftp.nlst("rain10min"))
 
#枚举指定目录所有文件并下载
 
#存储路径
dataDir = "D:\\yb\\"
ftpDataDir = ""
 
#设置接受缓冲区
#10240kb = 10M
#102400kb = 100M
#1024 000 kb = 1Gb
bufsize = 1024
 
for i in ftp.nlst("rain10min"):
    print('x')
    print(i)
    #本地存储文件路径及名称
    dataDirFile = dataDir + i
    #dataDirFile = i
    print(dataDirFile)
      
    #远程ftp文件路径及名称
    ftpDataDirFile = ftpDataDir + i
    print(ftpDataDirFile)
    #print(type(os.path.getsize(dataDirFile)))
     
    try:
        if os.path.exists(dataDirFile):
            dataDirFileSize = os.path.getsize(dataDirFile)
            if dataDirFileSize == 0:
                os.remove(dataDirFile)
            else:
                print("文件%s已经下载,大小%d" %(dataDirFile,dataDirFileSize))
        else:
            fpf = open(dataDirFile,'wb')
            print("当前正在下载文件%s" % (dataDirFile))
            ftp.retrbinary('RETR %s' %ftpDataDirFile,fpf.write,bufsize)
            print(dataDirFile + "文件下载完成")
            #if os.path.getsize(dataDirFile)
             
        '''
        dataDirFileSize = os.path.getsize(dataDirFile)
        #print("%s 文件大小为%d " % (dataDirFile,dataDirFileSize))
        if dataDirFileSize == 0:
            #print(dataDirFile+ "文件内容为空,下载失败的文件,需要重新下载")
            #删除内容为空的文件,以便后面程序重新下载
            os.remove(dataDirFile)
            #print("删除错误下载空文件%s" % dataDirFile)
        elif os.path.exists(dataDirFile):
            print("%s文件已经存在" % dataDirFile)
             
            dataDirFileSize = os.path.getsize(dataDirFile)
            print(dataDirFileSize)
             
            if dataDirFileSize == 0:
                #print(dataDirFile+ "文件内容为空,下载失败的文件,需要重新下载")
                #删除内容为空的文件,以便后面程序重新下载
             
        #elif int(os.path.getsize(dataDirFile)) == 0:
            #print(dataDirFile)
        else:
            #pass
             
            fpf = open(dataDirFile,'wb')
            ftp.retrbinary('RETR %s' %ftpDataDirFile,fpf.write,bufsize)
            print(dataDirFile + "文件下载完成")
        '''
    except:
        print("异常错误")
     
     
     
    '''
    try:
        pass
    except:
        pass
    '''

 

posted on   秦瑞It行程实录  阅读(177)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
历史上的今天:
2020-04-09 kolla-ansible
2018-04-09 python 爬虫气象气象定时报 气象预警推送
2016-04-09 Section %post does not end with %end
2016-04-09 Anaconda/kickstart
2016-04-09 CentOS7 iso ks
2016-04-09 Enter the path to the kernel header files for the 3.18.0-kali1-686-pae kerne vmware tool
2016-04-09 CentOS7 内核参数优化
www.cnblogs.com/ruiyqinrui
点击右上角即可分享
微信分享提示