python ftplib模块详解_Python FtpLib模块应用操作详解

本文实例讲述了Python FtpLib模块应用操作。分享给大家供大家参考,具体如下:

Python之FtpLib模块应用

工厂中有这样的应用场景: 需要不间断地把设备电脑生成的数据文件上传到远程文件存储服务器NAS中。

在python自带的标准库中找到ftplib模块,可以帮助实现文件的上传。

场景功能的实现需要做到以下几点:

给定本地路径,上传范围是否包含子文件夹及其文件

限定或不限定 哪些文件类型的文件,文件名包含哪些字符串的文件

文件上传后,本地是否要保留

扫完一次本地路径,进行下次循环的间隔周期

生成log日志方便查看报错与已上传的文件,日志文件保留多久之后要删除

思路是这样子,以上内容设计成一个config 文件进行管控。

1.config.xml文件设置

10.16.xx.xx

cc

xxx

10

TRUE

30

C:\Users\Administrator\Desktop\TEST\

/DATA/AOI/T1TEST200/

csv

*

TRUE

FALSE

TRUE

80

LogBackupDay日志保留天数

UploadCheck是否开启上传

Loop_Sec 扫描循环周期

LocalDirectory本地路径,结尾必须有路径分隔符

RemoteDirectory远程路径,结尾必须有路径分隔符

FileExtension文件类型,jpg,txt,py,log等等,为*时不限制文件类型

FileNameContain文件名字符串 , 文件名包含哪些字符串的文件,为*时不限制文件名

SubDirectoryCheck子文件夹的文件是否上传

SubDirectoryCreateCheck远程路径是否创建和本地路径一样的文件夹

LocalFileBackupCheck本地文件是否保留

FIleCreateTime扫描本地路径中创建时间为多少个小时内的文件或文件夹

以下是读取config.xml的代码

from xml.dom.minidom import parse

def readConfig():

'''读取上传配置'''

conf=parse(os.getcwd()+os.sep+'config.xml');#config文件与程序放在同一目录

host=conf.getElementsByTagName("ServerIP")[0].firstChild.data

username =conf.getElementsByTagName("UserID")[0].firstChild.data

passwd=conf.getElementsByTagName("Passwd")[0].firstChild.data

logBackupDay=int(conf.getElementsByTagName("LogBackupDay")[0].firstChild.data)

uploadCheck=conf.getElementsByTagName("UploadCheck")[0].firstChild.data

uploadLoopTime=int(conf.getElementsByTagName("Loop_Sec")[0].firstChild.data)

localDir=conf.getElementsByTagName("LocalDirectory")[0].firstChild.data

remoteDir=conf.getElementsByTagName("RemoteDirectory")[0].firstChild.data

fileExtension=conf.getElementsByTagName("FileExtension")[0].firstChild.data

fileNameContain=conf.getElementsByTagName("TxtFileNameContain")[0].firstChild.data

subDirCheck=conf.getElementsByTagName("SubDirectoryCheck")[0].firstChild.data

subDirCreateCheck=conf.getElementsByTagName("SubDirectoryCreateCheck")[0].firstChild.data

backupCheck=conf.getElementsByTagName("LocalFileBackupCheck")[0].firstChild.data

fileCreateTime=int(conf.getElementsByTagName("FileCreateTime")[0].firstChild.data)

conflist=[host,username,passwd,logBackupDay,uploadCheck,uploadLoopTime,

localDir,remoteDir,fileExtension,fileNameContain,

subDirCheck,subDirCreateCheck,backupCheck,fileCreateTime]

return conflist

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值