# -*- conding:utf-8 -*-
'''
给XX传输数据
'''
import ftplib
import os
import time
import shutil
def read_print_log(str_):
timestr = time.strftime('%Y%m%d:%H%M%S',time.localtime(time.time()))
logname = time.strftime('%Y%m%d',time.localtime(time.time()))+'.log'
print(timestr+' '+str_)
with open(logname,'a+') as l:
l.write(timestr+' '+str_+'\n')
def ftplogin_gl(host,user,passw):
ftphost = host
ftpuser = user
ftppass = passw
while True:
try:
ftpgl = ftplib.FTP(ftphost)
ftpgl.login(ftpuser,ftppass)
str_log = 'ftp连接成功!'
read_print_log(str_log)
return ftpgl
except:
str_log = 'ftp连接失败'
read_print_log(str_log)
time.sleep(3)
def ml_files(ml_):
file_list = []
while True:
if os.listdir(ml_):
str_log = '扫描到文件'
read_print_log(str_log)
for file in os.listdir(ml_):
file_list.append(os.path.join(ml_,file))
return file_list
else:
print('目录内没有文件等待5秒')
time.sleep(5)
continue
def sendfile(ftp_o,file,bak_ml):
file_name = os.path.basename(file)
try:
with open (file,'rb') as f:
print ('1')
ftp_o.storbinary('STOR '+file_name,f)
print ('2')
shutil.move(file,os.path.join(bak_ml,file_name))
str_log = file+'上传成功!'
read_print_log(str_log)
except:
str_log = '上传失败!'
time.sleep(3)
read_print_log(str_log)
ftpgl = ftplogin_gl(ftphost,ftpuser,ftppass)
sendfile(ftpgl,file,bak_ml)
if __name__=='__main__':
files_ml = r'C:\Users\Administrator\Desktop\2019\python\gl'
bak_ml = r'C:\Users\Administrator\Desktop\2019\python\glbak'
ftphost = r'192.168.1.11'
ftpuser = 'ftp'
ftppass = 'ftp'
ftpgl = ftplogin_gl(ftphost,ftpuser,ftppass)
while True:
for file in ml_files(files_ml):
sendfile(ftpgl,file,bak_ml)