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

2023-05-16

本文实例讲述了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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python ftplib模块详解_Python FtpLib模块应用操作详解 的相关文章

随机推荐