python方法备份桌面上非link文件,,python方法备份桌面
python方法备份桌面上非link文件,,python方法备份桌面
python方法备份桌面上非link文件.需要用到os、shutil、logging、sys等模块方法。文件备份技巧python源码类文章会陆续更新。
#!/user/bin/pythonimport osfrom datetime import date, datetime, timedeltaimport shutilimport loggingimport sysclass BkpDT: def __init__(self): self.exculdeFileExt = ['.lnk'] self.logger = self.getLogger(sys.argv[0]) self.backupFolder = '/'.join(['D:/BackupFiles', str(date.today())]) def getLogger(self, carrier): logger = logging.getLogger(os.path.basename(carrier)) logger.setLevel(logging.DEBUG) conlog = logging.StreamHandler() formatter = logging.Formatter("%(asctime)s - %(name)s - %(lineno)s - %(levelname)s - %(message)s") conlog.setFormatter(formatter) logger.addHandler(conlog) return logger def getFileInfo(self, file): fileInfo = {} FILE_STAT = os.stat(file) fileInfo['file_name'] = os.path.basename(file) fileInfo['file_size'] = os.path.getsize(file) fileInfo['modified_date'] = datetime.fromtimestamp(int(FILE_STAT.st_mtime)) fileInfo['create_date'] = datetime.fromtimestamp(int(FILE_STAT.st_ctime)) fileInfo['file_ext'] = os.path.splitext(file)[1] return fileInfo def isNeedBkp(self, fileInfo):#www.iplaypy.com today = datetime.today() if (fileInfo['file_ext'] not in self.exculdeFileExt) and (today - fileInfo['modified_date'] > timedelta(days = 1)): return True def createBkpFolder(self): if not os.path.exists(self.backupFolder): os.mkdir(self.backupFolder) def bkpFiles(self): files = os.listdir(os.getcwd()) tf = handled = 0 for i, file in enumerate(files): tf = i fileInfo = self.getFileInfo(file) if self.isNeedBkp(fileInfo): self.createBkpFolder() self.logger.debug('Moving file {0} to backup folder {1}'.format(fileInfo['file_name'], self.backupFolder)) shutil.move(file, self.backupFolder) handled += 1 self.logger.debug('Total {} files found, moved {} files to backup folder'.format(tf, handled))os.chdir('C:/Documents and Settings/**/Desktop')bkp = BkpDT()bkp.bkpFiles()
编橙之家文章,
相关内容
- 最简短的遍历显示当前目录树的python方法,当前目录树
- 抓取谷歌音乐搜索结果的python方法,谷歌python,抓取谷歌
- 一个简单的python刷新浪微博粉丝小程序,python小程序
- winmm实现调整windows系统音量大小的python方法,winmmpyth
- python学习笔记之时间模块常见问题总结,python学习笔记
- Python调chrome刷页面完成刷点击量操作,pythonchrome,Pytho
- Python使用GET方法发送HTTP请求源码,pythonget,如下的pyth
- Python HEAD方法发送HTTP请求源码,pythonhead,之前的文章中
- Python POST方法发送HTTP请求操作源码,pythonpost,这是Pyth
- python方法求开方牛顿、拉复生方法,python牛顿,Python求开
评论关闭